if else语句在sql中的select语句中

时间:2014-09-10 06:53:26

标签: mysql database select if-statement

如何使用mysql将if语句插入select语句?请帮我。我是新来的.. 我尝试过使用分隔符,但是它们有错误..  例如这句话:

SELECT c_id
  FROM customer
 WHERE city = 'AZ';

SELECT order_no,
       o_status 
  FROM order_status,
       customer
 WHERE order_status.c_id = customer.c_id;

UPDATE order_status 
   SET item_total=0
 WHERE o_status='waiting';

2 个答案:

答案 0 :(得分:1)

我不确定我的问题是否正确,但不应该做以下工作?

    UPDATE order_status 
       SET item_total=0
      FROM order_status os
INNER JOIN customer c
        ON c.c_id = os.c_id
     WHERE os.o_status='waiting' AND c.city = 'AZ'

答案 1 :(得分:-1)

IF(expr1,expr2,expr3)

如果expr1为TRUE(expr1<> 0且expr1<> NULL),则IF()返回expr2;否则返回expr3。 IF()返回一个数字或字符串值,具体取决于使用它的上下文。

mysql> SELECT IF(1>2,2,3);
        -> 3
mysql> SELECT IF(1<2,'yes','no');
        -> 'yes'
mysql> SELECT IF(STRCMP('test','test1'),'no','yes');
        -> 'no'

如果expr2或expr3中只有一个显式为NULL,则IF()函数的结果类型是非NULL表达式的类型。

IF()的默认返回类型(在存储到临时表时可能很重要)计算如下。 表达式返回值

expr2 or expr3 returns a string string
expr2 or expr3 returns a floating-point value   floating-point
expr2 or expr3 returns an integer   integer

如果expr2和expr3都是字符串,则如果任一字符串区分大小写,则结果区分大小写。

相关问题