在sql 2008 R2中,如何从一个表中加入2列,在另一个表中加入2列?

时间:2012-10-16 15:04:36

标签: sql-server-2008 inner-join multiple-columns

我有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和amp;组合的所有行。来自table2的valid_nxx。

例如,table1中的cust_npa为201且cust_nxx为852的行将不会返回(因为这不是table2的有效组合)。

2 个答案:

答案 0 :(得分:2)

select * from table_A as A
inner join table_B as B
on A.id = B.id and A.name = B.name

答案 1 :(得分:0)

select valid_npa, valid_nxx from table2
intersect
select cust_npa, cust_nxx from table1