其中 IF (字段取决于参数) SQL



初始数据示例:

 Project   |   Field1   |   Field2    |   Field3    |
 --------------------------------------------------------------------
 Project 1 |      0     |      1      |      2      |
 Project 2 |      2     |      0      |      1      |

使用 SQL Server 2014,我有表,我需要在其中获取取决于 ssrs 参数中的值的数据。查询示例。

Select *
Where IF@Scenario=1, then Field1 < 2
      IF@Scenario=2, then Field2 < 2
      IF@Scenario=3, then Field3 < 2
From Table1
Select *
FROM x
Where 
      2 > 
      CASE @Scenario WHEN 1 THEN Field1 
           WHEN 2 THEN Field2
           WHEN 3 THEN Field3
           ELSE 0 --This part is just to avoid errors when scenario isnt in any of the options. 2>0 will display everything
      END

改为将条件 (2( 与列进行比较。

使用AND/OR条件

Select *
From Table1
Where (@Scenario=1 and Field1 < 2) Or 
      (@Scenario=2 and Field2 < 2) Or
      (@Scenario=3 and Field3 < 2)

在 WHERE cluase 中使用 CASE 语句:

SELECT *
FROM Table1
WHERE CASE @Scenario WHEN 1 THEN Field1 
       WHEN 2 THEN Field 2
       WHEN 3 THEN Field 3
       ELSE 0 END < 2

相关内容

  • 没有找到相关文章

最新更新