1) q2: Все объединяем, но без группировки
SELECT tbl, clng(inn) AS vInn, inn AS zInn
FROM (select "t1"as tbl ,inn from i1
Union All
select "t2",inn from i2
Union All
select "t3",inn from i3
) AS s;
2) qw: вспомогательный запрос, аналогичный запросу mds_world'а
SELECT q2.vInn AS INN
FROM q2
GROUP BY q2.vInn
HAVING (((Count(q2.vInn))>1));
3) q3: Перекрестный запрос с вычислением какой-либо агрегатной функции (предполагаем, что ИНН можно преобразовать в длинное целое). Заголовки строк - значения ИНН, столбцов - имена таблиц.
TRANSFORM Avg(q2.vInn) AS [Avg-vInn]
SELECT q2.zInn
FROM q2
GROUP BY q2.zInn
PIVOT q2.tbl;
4) q4: Убираем лишнее, объединяя запросы qw и q3
SELECT q3.*
FROM qw INNER JOIN q3 ON qw.inn=q3.zInn;
На выходе получаем таблицу, в которой заполнены только те ячейки, в которых совпадают ИНН