sql - 两个sql if语句

标签 sql sql-server

我想在 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 语句处失败,是否需要添加另一个关键字?

最佳答案

我推荐一个声明:

SELECT
   *
FROM table
WHERE
    (@user = 'Bob' AND Id = 1)
    OR
    (@animal= 'Cat' AND Id = 50)

关于sql - 两个sql if语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17701381/

相关文章:

sql - 在 SQL Server 上的特定位置添加列?

SQL Server 两个字段的唯一组合键,第二个字段自动递增

SQL Server 2014 - 模拟和 CTE 循环

sql - Oracle 中的所有计划生成器计划

sql - 用虚拟数据填充 SQL 表的最快方法

sql - HsqlDB 1.8 日期函数

mysql - NULLIF 与 IFNULL

c# - 锁定sql表中的记录

mysql - 如何加速使用 LIKE %...% 的 HAVING

sql-server - 如何找到所有外键?