如何使用JOIN语句有效地联接三个表?

时间:2019-07-03 16:58:45

标签: sql sql-server tsql

我有三个表,我试图在它们上进行多个联接,但这似乎不起作用。

这是我一直在尝试的代码:

  1. 在Views中,SQL Server不断将LEFT JOIN更改为LEFT OUTER Join(这可能是我缺乏充分的了解)
  2. 没有结果 以下是我的表格,预期结果和我正在使用的查询。

    A [a.ID,a.Name,a.Col [与b.ID相关......] B [b.ID,b.Name,b.col [与c.ID相关......] C [c.ID,c.Name,c.col ...]

数据示例:

Table A
ID   Name       Col
==================
1    Name.A1      2
2    Name.B2      3
3    Name.C3      1

Table B
ID   Name       Col
==================
1    Name.B1      3
2    Name.B2      1
3    Name.B3      2

Table C
ID   Name       Col
==================
1    Name.C1      SomeValue1
2    Name.C2      SomeValue2
3    Name.C3      SomeValue3

我的目的是产生一个具有以下结果的表:

New Table [a.ID, a.Name, c.Name...] 

a.ID   a.Name    c.Name
==================
1    Name.C1      SomeValue1
2    Name.C2      SomeValue3
3    Name.C3      SomeValue2

SELECT a.ID, a.Name, c.Name AS New Name
FROM dbo.first AS a
LEFT OUTER JOIN dbo.second AS b ON a.Col = b.ID 
LEFT OUTER JOIN dbo.third AS c ON c.ID = b.Col

任何帮助将不胜感激。预先谢谢你。

0 个答案:

没有答案