【发布时间】:2011-11-09 09:14:42
【问题描述】:
我有一个包含两列行的表格
A 1
A 2
B 1
B 3
C 1
C 2
C 3
我只想从这个 ID(a,b 或 c) 中得到它,它只有 2 行,值为 1,2,所以从这个表中我应该得到 a,因为 b 没有 2 行,并且c 有 1 和 b 的行,但也有 c.. 的行。
获取此行的最简单方法是什么?
【问题讨论】:
标签: sql sql-server-2005 select relational-algebra
我有一个包含两列行的表格
A 1
A 2
B 1
B 3
C 1
C 2
C 3
我只想从这个 ID(a,b 或 c) 中得到它,它只有 2 行,值为 1,2,所以从这个表中我应该得到 a,因为 b 没有 2 行,并且c 有 1 和 b 的行,但也有 c.. 的行。
获取此行的最简单方法是什么?
【问题讨论】:
标签: sql sql-server-2005 select relational-algebra
SELECT col1
FROM YourTable
GROUP BY col1
HAVING COUNT(DISTINCT col2) =2 AND MIN(col2) = 1 AND MAX(col2) = 2
或另一种可扩展至 2 个以上数字的方式
SELECT col1
FROM yourtable
GROUP BY col1
HAVING MIN(CASE
WHEN col2 IN ( 1, 2 ) THEN 1
ELSE 0
END) = 1
AND COUNT(DISTINCT col2) = 2
【讨论】:
select t1.col1
from table as t1
left join table as t2 on (t1.col1 = t2.col1)
where t1.col2 = 1 and t2.col2 = 2;
【讨论】: