帮助构造条件SQL语句

uni*_*rio 1 sql t-sql sql-server

我想用条件IF构造一个SELECT语句.

比如,如果没有语言代码的记录'Swedish':

SELECT * FROM Entries WHERE Language = 'Swedish'
Run Code Online (Sandbox Code Playgroud)

然后使用 'English'

SELECT * FROM Entries WHERE Language = 'English'
Run Code Online (Sandbox Code Playgroud)

我如何使用MSSQL构造此语句?

谢谢,

斯特凡

Cad*_*oux 5

天真:

SELECT *
FROM Entries
WHERE Language = 'Swedish' 

UNION ALL

SELECT *
FROM Entries
WHERE Language = 'English' 
    AND NOT EXISTS (
        SELECT *
        FROM Entries
        WHERE Language = 'Swedish' 
    )
Run Code Online (Sandbox Code Playgroud)

要么:

SELECT *
FROM Entries
WHERE Language = 'Swedish' 
    OR (Language = 'English' 
        AND NOT EXISTS (
            SELECT *
            FROM Entries
            WHERE Language = 'Swedish' 
        )
    )
Run Code Online (Sandbox Code Playgroud)