Can you have if

This question already has an answer here:

  • How do I perform an IF…THEN in an SQL SELECT? 22 answers

  • 您可以进行以下sql查询

    IF ((SELECT COUNT(*) FROM table1 WHERE project = 1) > 0) 
        SELECT product, price FROM table1 WHERE project = 1
    ELSE IF ((SELECT COUNT(*) FROM table1 WHERE project = 2) > 0) 
        SELECT product, price FROM table1 WHERE project = 2
    ELSE IF ((SELECT COUNT(*) FROM table1 WHERE project = 3) > 0)
        SELECT product, price FROM table1 WHERE project = 3
    

    CASE语句最接近SQL中的IF语句,并且在所有版本的SQL Server上都受支持:

    SELECT CASE <variable> 
               WHEN <value>      THEN <returnvalue> 
               WHEN <othervalue> THEN <returnthis> 
               ELSE <returndefaultcase> 
           END 
      FROM <table> 
    

    而不是使用EXISTSCOUNT只需使用@@ROWCOUNT

    select product, price from table1 where project = 1
    
    IF @@ROWCOUNT = 0
    BEGIN
        select product, price from table1 where customer = 2
    
        IF @@ROWCOUNT = 0
        select product, price from table1 where company = 3
    END
    
    链接地址: http://www.djcxy.com/p/94336.html

    上一篇: 在SELECT子句中的Case / If语句

    下一篇: 你可以有,如果