我想在sql中运行两个IF
语句。 IF是两个不同的条件,例如:
IF (@user == 'Bob')
BEGIN
SELECT * FROM table Where id = 1
END
IF (@animal == 'Cat')
BEGIN
SELECT * FROM table WHERE id = 50
END
如果只有第一个条件是正确的,那么我想要的是第1行,如果满足两个条件,则返回1和50。
这在第二个IF
语句中失败,是否需要添加另一个关键字?
答案 0 :(得分:2)
IF (@user == 'Bob')
BEGIN
SELECT * FROM table Where id = 1
END
ELSE IF (@animal == 'Cat') and (@user == 'Bob')
BEGIN
SELECT * FROM table WHERE id = 50
END
答案 1 :(得分:2)
我建议单一声明:
SELECT
*
FROM table
WHERE
(@user = 'Bob' AND Id = 1)
OR
(@animal= 'Cat' AND Id = 50)
答案 2 :(得分:1)
IF (@user = 'Bob')
BEGIN
IF (@animal = 'Cat')
BEGIN
SELECT * FROM table WHERE id = 50
END
ELSE
BEGIN
SELECT * FROM table Where id = 1
END
END
答案 3 :(得分:0)
我认为这可能适用于你想要的东西。
SELECT * FROM table Where id = 1 && @user == 'Bob'
Union
SELECT * FROM table WHERE id = 50 && @animal == 'Cat' && @user == 'Bob'
答案 4 :(得分:-1)
尝试使用嵌套if函数:
SELECT * FROM table Where id = IF(@user=='Bob',1,IF(@animal=='Cat',50));