我有两个具有相同主键的表,但是一个比另一个大得多.我想知道哪些ID在较小的表中有一行.(在这个例子中,a很大而且b很小).现在,我正在使用带有CASE的OUTER JOIN来确定b值是否为NULL.它不起作用(总是得到1).修复此问题会很好,但必须有更好的方法.我该怎么办?
SELECT a.id,
CASE b.id
WHEN NULL THEN 0
ELSE 1
END AS exists
FROM a LEFT OUTER JOIN b
ON a.id=b.id;
Run Code Online (Sandbox Code Playgroud)
这与您展示的内容具有相同的逻辑,但代码更短:
SELECT a.id,NOT ISNULL(b.id) AS exists
FROM a LEFT OUTER JOIN b
ON a.id=b.id;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5592 次 |
| 最近记录: |