假设我有表A和表B.
A有5列:F,G,H,I和X.
B有1列:X。
A和B中的X具有相同的种值
说我跑下面。
SELECT *
FROM A
LEFT JOIN B
ON A.X = B.X
结果数据集有6列。但是,有时由于LEFT JOIN,表B中行的数据为NULL。 我的最终目标是能够从A返回*但是在结果集中有一个额外的(第六)列,如果连接确实找到匹配则显示“是”,如果没有,则显示“否”。
非常感谢任何帮助!
谢谢,
马特
答案 0 :(得分:5)
这有用吗?
SELECT
A.*,
CASE
WHEN B.X IS NULL THEN 'No'
ELSE 'Yes'
END AS BExists
FROM A
LEFT JOIN B
ON A.X = B.X
如果A.X和/或B.X可以为null,则可以将其更改为:
SELECT
A.*,
CASE
WHEN B.Id IS NULL THEN 'No'
ELSE 'Yes'
END AS BExists
FROM A
LEFT JOIN B
ON ISNULL(A.X,0) = ISNULL(B.X,0)
答案 1 :(得分:0)
SELECT * FROM A. 左外接点B接A.X = B.X