【发布时间】:2023-02-22 19:04:43
【问题描述】:
我有一张桌子 table_A
ID EMP
1 9999
1 1
2 9999
2 2
2 3
3 9999
3 9999
3 4
3 4
3 4
4 9999
4 9999
4 9999
5 5
5 6
我想要 emp <> 9999 的记录,但这种情况不应满足所有 ID。所以我的预期输出将是
id emp
1 1
2 2
2 3
3 4
3 4
3 4
这里不存在 id 为 4 和 5 的记录,因为它们不同的 emp 值要么仅为 9999,要么为任何其他值而不是 9999
我试过但没有得到想要的结果:
SELECT ID, EMP
FROM table_a
WHERE ID IN (
SELECT ID
FROM table_a
WHERE EMP <> 9999
GROUP BY ID
HAVING COUNT(DISTINCT CASE WHEN EMP <> 9999 THEN EMP END) > 0
)
AND EMP <> 9999
【问题讨论】:
标签: sql snowflake-cloud-data-platform