选择行我有一个表是这样的:有一个或另一个条件或两者相结合
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