選擇行我有一個表是這樣的:有一個或另一個條件或兩者相結合
Name Candy Fruits
_____________________
John 1 2
Luis 0 1
Mary 1 1
Julio 0 0
我試圖做的是要過濾這些信息,誰剛剛糖果的人:John, Mary
。 John, Luis, Mary
我曾嘗試是這樣的: 或者只是誰擁有水果的人
DECLARE @wCandy BIT, @wFruits BIT
SET @wCandy = 1, @wFruits = 0
SELECT Name, Candy, Fruits
FROM People
WHERE (
(@wCandy = 0) OR (Candy > 0))
AND ((@wFruits = 0) OR (Fruits > 0))
)
這導致這(只是人們woth大於0的糖果):
Name Candy Fruits
_____________________
John 1 2
Mary 1 1
因此,如果我設置@wCandy = 0
和@wFruits = 1
我應該看到水果數量超過0的人,反之亦然@wCandy
設置爲1
這很有效,但還有另外一種情況,我想要兩種,即糖果和水果。其結果應該是:
Name Candy Fruits
_____________________
John 1 2
Luis 0 1
Mary 1 1
我已經嘗試了很多像使用CASE語句的東西,但我還沒有得到它的工作。我希望有人能幫幫忙。
目前還不清楚是什麼原因你在這裏。你只是設置你的糖果變量,而不是設置水果變量?如果是這樣,你的水果變量將爲NULL,不會被返回。 –
@SeanLange呃,對不起。請看我的編輯! – geekth
要覆蓋所有情況,您應該添加一個擁有Candy且沒有水果的用戶。 – McNets