2009-06-07 92 views
0

假設我有一個這樣的表..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

請幫

+0

你能提供所需輸出的樣本? – 2009-06-07 05:25:08

+0

你想要的結果是什麼,因爲問題不是很清楚。 – Kane 2009-06-07 05:25:26

回答

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 
0

有來處理的幾種方法,但是這可能是最簡單的,並且將執行相當體面給出您的選擇:

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 
2
SELECT ColA 
FROM my_table 
WHERE ColB = (ColC * 100);