2012-08-06 141 views
50

我有三个表我希望通过它们之间的共同列进行内部连接。内部连接三个表

说我的表是;

TableA TableB TableC 

我想加入A-B,但随后也B-C所有通过这个共同的领域我会打电话常见。

我已经加入了两张这样的表格;

dbo.tableA AS A INNER JOIN dbo.TableB AS B 
ON A.common = B.common 

如何添加第三个?

+2

dbo.tableA一个S A INNER JOIN dbo.TableB AS B ON A.common = B.common内部连接dbo.TableC作为C上C.common = B.common – praveen 2012-08-06 08:01:36

回答

87
select * 
from 
    tableA a 
     inner join 
    tableB b 
     on a.common = b.common 
     inner join 
    TableC c 
     on b.common = c.common 
+0

输出表将如何看起来像。对每个问题说出SO问题和评论,并回答每个问题和每个答案的评论。三表问题,答案,评论。 – 2016-04-19 16:03:33

+1

@ışık您可以从tableA获取所有列,然后从tableB获取所有列,然后从tableC获取所有列。或者你可以选择你想要的列 – podiluska 2016-04-20 13:19:21

+1

第二个INNER JOIN后面发生了什么;我们是否加入了询问的输出是否有从第一次加入创建的临时表?如果有临时表,那么我们如何调用该表。 – lft93ryt 2017-09-03 11:13:37

6
dbo.tableA AS A INNER JOIN dbo.TableB AS B 
ON A.common = B.common INNER JOIN TableC C 
ON B.common = C.common 
11

只是做同样的事情,但阿恩则表C

SELECT * 
FROM dbo.tableA A 
INNER JOIN dbo.TableB B ON A.common = B.common 
INNER JOIN dbo.TableC C ON A.common = C.common 
5

试试下面的代码

select * from TableA A 
inner join TableB B on A.Column=B.Column 
inner join TableC C on A.Column=C.Column 
2

试试这个:

SELECT * FROM TableA 
JOIN TableB ON TableA.primary_key = TableB.foreign_key 
JOIN TableB ON TableB.foreign_key = TableC.foreign_key