将多个表连接到单个父表

时间:2016-05-05 14:42:46

标签: sql sql-server

我正在尝试将来自三个不同表的数据连接到SQL中的单个视图中。关系如下父母 - >孩子1和父母 - >儿童2.儿童1和儿童2之间没有任何关系。 (见下图)

我尝试使用左连接,它最终在关系中父 - >孩子1 - >孩子2。

enter image description here

2 个答案:

答案 0 :(得分:2)

您确定要将child2加入父表吗?

SELECT *
FROM Parent p 
JOIN Child1 c1 on p.colA = c1.colA
JOIN Child2 c2 on p.colB = c2.colB

答案 1 :(得分:0)

这个想法是以下内容,取决于您更改连接后的内容(左侧,内侧,右侧与where子句组合,例如WHERE c2.b为null)。显示样本数据和期望输出而不是通用的venn会好得多。

 select * from Parent P
 left join Child1 c1
 on p.A=c1.A
 left join Child2 c2
 on p.B=c2.B