В SQL 2008 R2, как мне объединить 2 столбца из одной таблицы с 2 столбцами в другой таблице?
У меня есть 2 таблицы. В таблице 1 у меня есть 2 столбца - cust_npa & cust_nxx. В таблице 2 у меня есть 2 столбца - valid_npa & valid_nxx. Каждая запись в table2.valid_npa имеет соответствующую запись в table2.valid_nxx.
valid_npa valid_nxx
201 551
201 552
201 553
202 851
202 852
Я хочу вернуть все строки в table1, которые имеют комбинацию valid_nap & valid_nxx из table2.
Например, строка в table1, имеющая cust_npa 201 и cust_nxx 852, не будет возвращена (так как это недопустимая комбинация из table2).
2 ответа
Решение
select * from table_A as A
inner join table_B as B
on A.id = B.id and A.name = B.name
select valid_npa, valid_nxx from table2
intersect
select cust_npa, cust_nxx from table1