Предположим, у меня есть 2 таблицы, каждая таблица имеет N столбцов.В table1
НЕТ повторяющихся строк. И теперь мы хотим знать, какие наборы данных в table2
(включая дубликаты) также содержатся в table1
.
Я пытался
select * from table1
intersect
select * from table2
Но это дает мне только уникальные строки в обеих таблицах.Но я не хочу уникальных строк, хочу видеть все строки в таблице 2, которые находятся в table1
...
Имейте в виду!Я не могу сделать
select *
from table1 a, table b
where a.table1col = b.table2col
... потому что я не знаю количество столбцов таблиц во время выполнения.
Конечно, я мог бы что-то сделать с динамическим SQL и перебрать столбецчисла, но я спрашиваю это именно потому, что это кажется слишком простым запросом для такого рода вещей ..
Пример:
create table table1 (table1col int)
create table table2 (table2col int)
insert into table1 values (8)
insert into table1 values (7)
insert into table2 values (1)
insert into table2 values (8)
insert into table2 values (7)
insert into table2 values (7)
insert into table2 values (2)
insert into table2 values (9)
Я хочу, чтобы мой запрос затем возвращал:
8
7
7