在此页面中 Check if column value exists in another column in SQL
用户希望获取包含在Called_ID列中的Calling_ID中的ID。 假设我在两个不同的表中有列,比如说
Table T1
Calling_ID
27
15
80
90
60
88
15
30
27
40
和
Table T2
Called_ID
10
20
90
88
30
40
60
40
95
30
另一个人想要结果90,88,30和40 - 我希望结果是这种类型的布尔列
Calling_ID contained
27 0
15 0
80 0
90 1
60 0
88 1
15 0
30 1
27 0
40 0
我怎么能这样做?非常感谢你!
答案 0 :(得分:1)
您可以从T1连接到T2,并检查被叫ID是否为NULL,例如:
SELECT
Calling_ID,
CASE
WHEN T2.Called_ID IS NULL THEN 0
ELSE 1
END AS Contained
FROM T1
LEFT JOIN T2 ON T1.Calling_ID = T2.Called_ID
答案 1 :(得分:0)
尝试使用左连接和case..when..then来检查被叫id是否为null然后输出0 else输出为1,如:
SELECT t1.calling_id, CASE WHEN t2.called_id IS NULL THEN 0 ELSE 1 END CASE AS "contained"
FROM t1 LEFT JOIN t2
ON t1.calling_id = t2.called_id