[英]sql-Select rows with same id but different value in another column
Input:输入:
Column A A列 | Column B B列 |
---|---|
1 1个 | A一种 |
1 1个 | B乙 |
1 1个 | C C |
2 2个 | A一种 |
2 2个 | B乙 |
3 3个 | A一种 |
3 3个 | B乙 |
3 3个 | c c |
4 4个 | A一种 |
5 5个 | A一种 |
5 5个 | B乙 |
6 6个 | A一种 |
Output Output
ColumnA列A |
---|
4 4个 |
6. 6. |
for columnA for every first of values is A, i need to fetch columnA those values have only A not in B,C对于 columnA,每个第一个值都是 A,我需要获取 columnA 这些值只有 A 而不是 B,C
You can use a correlated subquery with NOT EXISTS
to exclude column A values that have matching rows with the disallowed values in column B.您可以使用带NOT EXISTS
的相关子查询来排除列 A 值,这些值具有与列 B 中不允许的值匹配的行。
SELECT columnA
FROM yourTable AS t1
WHERE columnB = 'A'
AND NOT EXISTS (
SELECT *
FROM yourTable AS t2
WHERE t1.columnA = t2.columnA
AND t2.columnB IN ('B', 'C')
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.