SQL Server 2005的查询问题
问题描述:
假设我有一个这样的表..SQL Server 2005的查询问题
ColA ColB ColC
----------------------
A 100 1
A 200 2
A 300 3
B 100 1
B 200 2
C 300 1
我必须选择COLA其中100 = 1,200 = 2,300 = 3
请帮
答
从我能从你的问题明白了,你需要财产以后简单,如:
select COLA where ((COLB=100 and COLC=1) or (COLB=200 and COLC=2) or (COLB=300 and COLC=3))
或去为更普遍的:
select COLA where COLB = COLC*100
答
有来处理的几种方法,但是这可能是最简单的,并且将执行相当体面给出您的选择:
SELECT ColA
FROM MyTable
WHERE (ColB = 100 AND ColC = 1)
OR (ColB = 200 AND ColC = 2)
OR (ColB = 300 AND ColC = 3)
GROUP BY ColA
HAVING COUNT(*) = 3
答
SELECT ColA
FROM my_table
WHERE ColB = (ColC * 100);
你能提供所需输出的样本? – 2009-06-07 05:25:08
你想要的结果是什么,因为问题不是很清楚。 – Kane 2009-06-07 05:25:26