我有这两个表
一:
ID SystemProductID
E57AD213-3953-481C-BA2B-4AF8B98A87B6 02188530
2471F038-2646-4EC2-B245-4AF919901A71 02000099
3A7D0896-EBB3-4E30-A535-4AF94FE83CCE 02025567
二:
SystemProductID
02188530
02000099
02460103
02460101
如何选择其中一些
IsExist SystemProductID ID
true 02188530 E57AD213-3953-481C-BA2B-4AF8B98A87B6
true 02000099 2471F038-2646-4EC2-B245-4AF919901A71
false 02460103 NULL
false 02460101 NULL
请告诉我该怎么做
完全加入并不适用于我想要的内容
答案 0 :(得分:2)
以我的思维方式,我总是使用我知道的所有表格中的所有数据行和LEFT JOIN。我一般不喜欢RIGHT JOIN,因为它们对我来说似乎是违反直觉的。完全加入也可以。
因此,我们将所有表格的两行和左边的联接放在表格的第一位,我们就可以了。
SELECT
CASE
WHEN t1.SystemProductID IS NULL THEN 'false'
else 'true'
END [IsExist]
,t2.SystemProductID
,t2.ID
FROM TableTwo t2
LEFT JOIN TableOne t1 ON t1.SystemProductID=t2.SystemProductID