【发布时间】:2018-11-05 15:14:29
【问题描述】:
很遗憾,我无法确定我的问题名称是否正确。
初始数据示例:
Table 1 Table 2 Table 3
| ID | Name | | ID | Info1 | | ID | Info2 |
|----|-------| |----|-------| |----|-------|
| 1 | Name1 | | 1 | text1 | | 1 | text1 |
| 2 | Name2 | | 1 | text1 | | 1 | text1 |
| 3 | Name3 | | 2 | text2 | | 1 | text1 |
| 2 | text2 | | 2 | text2 |
| 3 | text3 |
在我的初始数据中,我通过字段ID 在 3 个表之间建立了关系。
我需要将table2 和table3 加入到第一个表中,但是如果我进行顺序加入,例如left join table2 和left join table3 by ID,我将在第二次加入时获得额外的记录,因为会有是第一次加入后具有一个 ID 的多条记录。
我需要获取table2 和table3 的记录,就像每列中第一个表ID 的列表一样。
这里是预期结果的示例:
Table 3
| ID | Name |Info1(Table2)|Info2(Table3)|
|-------|-----------|-------------|-------------|
| 1 | Name1 | text1 | text1 |
| 1 | Name1 | text1 | text1 |
| 1 | Name1 | null | text1 |
| 2 | Name2 | text2 | text2 |
| 2 | Name2 | text2 | null |
| 3 | Name3 | null | text3 |
【问题讨论】:
-
你试过
Inner join吗?
标签: sql sql-server tsql sql-server-2017