你可以有,如果

这个问题在这里已经有了答案:

  • 如何在SQL SELECT中执行IF ... THEN? 22个答案

  • 您可以进行以下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/94335.html

    上一篇: Can you have if

    下一篇: MySQL select from subquery order