小编jua*_*han的帖子

在同一个查询中使用 WITH 和 IF

我正在尝试使用WITH子句和IF语句,但它似乎不起作用,我找不到任何原因。语法应该是正确的,但它仍然在抱怨语法。

我收到的错误是“';'附近的语法不正确。我尝试删除;字符,但后来显示“关键字'IF'附近的语法不正确。

甚至可以像这样使用 WITH 和 IF 语法吗?该查询在没有IF语句的情况下也能工作(只有一个选择查询)。

With measurements as 
        (
        (SELECT * from measurement_database1)
        UNION ALL
        (SELECT * from measurement_database2)
        UNION ALL
        (SELECT * from measurement_database3)
        );

    IF @device= 'en1' AND @other_parameter= 'yes'
        (
        select * from measurements where device like 'en1' and op like 'yes'
            );
    IF @device= 'en2' AND @other_parameter= 'no'
        (
        select * from measurements where device like 'en2' and op like 'no'
            );
    IF @device= 'en3' AND …
Run Code Online (Sandbox Code Playgroud)

sql-server sql-server-2012

5
推荐指数
1
解决办法
1928
查看次数

标签 统计

sql-server ×1

sql-server-2012 ×1