如何连接包含2个或更多外键列的表引用另一个表中的同一主键列?

时间:2013-12-09 02:59:50

标签: mysql sql sql-server sql-server-2008

我有我的桌子

表1

Col1中, Col2_FK1(参考表2的Col1_PK), Col3_FK2(参考表2的Col1_PK)

表2

Col1_PK,Col2中


我想查询这两个表,以获得基于Table2的Col1_PK和Col2的结果 任何人都可以帮我这个。这样做就是徒劳无功。


  

表1

enter image description here

  

表2

enter image description here


问题是 编写查询以查找位置偏好(LP)(班加罗尔或孟买)但不是Chennai的Emp_Name。

1 个答案:

答案 0 :(得分:1)

你可能正在寻找这样的东西:

SELECT t1.emp_name, 
       t2_lpt1.location, 
       t2_lpt2.location 
FROM   table1 t1 
       INNER JOIN table2 t2_lpt1 
               ON ( t1.lpt1 = t2_lpt1.code ) 
       INNER JOIN table2 t2_lpt2 
               ON ( t1.lpt2 = t2_lpt2.code ) 
WHERE  t2_lpt1.code != 33 
       AND t2_lpt2.code != 33 
       AND ( /* either Bangalore or Mumbai */ )