2013-07-31 44 views
2

我想在WHERE子句中使用一些CASE WHEN語句,以允許根據特定變量的不同WHERE條件。我對它的外觀有一個概念,但我不知道是否可能或使用什麼語法。SQL中的開關盒條款

我想它被用作這樣的:

SELECT * FROM Table1 
WHERE 
CASE WHEN @var = 1 THEN ID = 5 END, 
CASE WHEN @var = 2 THEN Name = 'Bob' END, 
CASE WHEN @var = 3 THEN Color = 'Green' 

凡爲@var每個實例WHERE條件是不同的。任何幫助表示讚賞。

回答

4

你並不需要一個CASE

SELECT * FROM Table1 
WHERE 
(@var = 1 AND ID = 5) OR 
(@var = 2 AND Name = 'Bob') OR 
(@var = 3 AND Color = 'Green') 
+0

我很愚蠢......非常感謝! – AToya