加入不显示所有记录
问题描述:
我敢肯定,这是非常明显的,但我完全卡住,因为我以前从未见过。加入不显示所有记录
我有一个数据集可以根据类别列表(共6个)而不同。有些客户将拥有1或2个其他类别。我试图通过的信息旨在通过所有6个类别,并根据客户端提供相应的信息。
所以我建立了一个简单的ID(1到6)和类别映射表。然后我加入到我的客户数据。我正在使用的测试数据有1,2,3,5类,而我得到NULL的6我没有得到任何4。我应该看到类4的空行,因为它不存在于客户端数据?
SELECT *
FROM .dbo.Lookup_Category C
LEFT JOIN dbo.Client CL ON C.ID = CL.Category
WHERE CL.ID = 423 OR CL.Category IS NULL
答
尝试使用
SELECT *
FROM .dbo.Lookup_Category C
LEFT JOIN dbo.Client CL ON C.ID = CL.Category and (CL.ID = 423 OR CL.Category IS NULL)
使用其中LEFT JOIN被用作内部的加入
+0
非常感谢! – Carlos80
答
移动你的病情WHERE
你ON
条款。
的WHERE
执行后LEFT JOIN
,并筛选出CL.ID
您NULL
值。
SELECT *
FROM .dbo.Lookup_Category C
LEFT JOIN dbo.Client CL ON C.ID = CL.Category
AND (CL.ID = 423 OR CL.Category IS NULL)
你可以显示原始数据和表格模式吗? –
你试过了吗:左外连接? – Svenmarim