从一个表中选择,基于另外两个的连接

时间:2015-06-09 18:26:58

标签: sql

我想

从表a中选择列 其中扩展表a =表b中的扩展名 表b和表c中的部门匹配 基于该匹配,表c中的deptartment应该=是

Select col1, col2, col3, col4, col5  from table a
   Where col2 table a = col2 table b
   And  col3 in table b = col3 in table c
   And  col4 tabel c = yes

任何人都可以提供帮助。

2 个答案:

答案 0 :(得分:0)

虽然您的问题很模糊,但您尝试过:

SELECT A.COL1, A.COL2, A.COL3, A.COL4, A.COL5
FROM TABLE_A A
JOIN TABLE_B B
ON A.Extension = B.Extension
JOIN TABLE_C C
ON B.Department = C.Department
AND C.Department = 'yes'

答案 1 :(得分:0)

您可以通过不同方式执行此操作。如下:

方式1

SELECT col1, col2, col3, col4, col5 
FROM tableA 
JOIN tableB ON tableA.col2 = tableB.col2
JOIN tableC ON tableB.col3 = tableC.col3 AND tableC.col4 = 'yes'

方式2

SELECT col1, col2, col3, col4, col5 
FROM tableA 
JOIN tableB ON tableA.col2 = tableB.col2
JOIN tableC ON tableB.col3 = tableC.col3
WHERE tableC.col4 = 'yes'

方式3

SELECT * 
INTO #col4yesTable
FROM tableC
Where col4 = 'yes'

SELECT tableA.col1, tableA.col2, tableA.col3, tableA.col4, tableA.col5 
FROM #col4yesTable
JOIN tableB ON #col4yesTable.col3 = tableB.col3
JOIN tableB ON tableA.col2 = tableB.col2

取决于您的需要,您可以使用其中之一。最后一个,创建一个临时表来存储所有具有col4 ='yes'

的tableC对象