【发布时间】:2017-05-17 22:31:28
【问题描述】:
我有两张桌子
A
artnr grp name
1 FlowerA NameA
2 FlowerB NameB
3 FlowerC NameC
4 FlowerD NameD
B
artnr eigenschap waarde
1 color Red
2 color Null
4 color Yellow
4 Height 30
如何获得 4 个带颜色的结果?
Select A.Artnr,
A.grp,
A.name,
B.waarde
from A
left join B on B.Artnr = A.Artnr
where B.Eigenschap = 'color'
我的问题是表 B 没有 artnr 3,Artnr 2 是空的(Is Null)没问题。当两个表中都不存在记录时,我遇到了问题。
我想要以下结果:
A left join b
artnr grp name waarde
1 FlowerA NameA red
2 FlowerB NameB NULL
3 FlowerC NameC NULL -- Droptopp: I want to see this even not in table B
4 FlowerD NameD yellow
我得到 3 行,缺少 artnr 3 的行,这是因为我认为它不在表 B 中。那么如何获得 4 行的结果,而 artnr 3 的行在列颜色中是一个空单元格?
【问题讨论】:
-
您希望“两个表中都不存在”的记录会发生什么?什么是两个表中都不存在的记录?
-
@Droptopper,你的预期结果是什么......?
-
预期结果
-
artnr 与两个表相同,因此在选择数据时使用别名,例如选择 A.Artnr 作为 aID,A.grp 作为 grp,A.name 作为名称,B.color 作为 bcolor 从 A 左连接 B关于 B.Artnr = A.Artnr
-
我想要 4 个结果我希望 artnr 3 也能显示出来,即使它不在两个表中。这样我可以看到我想念的东西。我不希望表 B 填充表 A 中的所有记录并且颜色为空(为空)