【问题标题】:IF, ELSE statement for sql query用于sql查询的IF、ELSE语句
【发布时间】:2015-05-04 21:25:14
【问题描述】:

如何在我有一个名为 ACC_REQUEST 的表的情况下编写 SQL 查询?

表中有一个名为 REQUEST_STATUS 的列,其值为“pending”、“withdrawn”和“completed”

如果请求状态值 = 'pending 则从 ACC_APPROVAL 中选择approver_name,否则选择请求状态

【问题讨论】:

    标签: mysql select if-statement


    【解决方案1】:

    你可以使用 CASE

    喜欢:

    案例 x 当呸呸呸呸 结束案例

    http://dev.mysql.com/doc/refman/5.0/en/case.html

    【讨论】:

      【解决方案2】:

      有点像

      SELECT 
          CASE
              WHEN ACC_REQUEST.REQUEST_STATUS = 'pending' THEN ACC_APPROVAL.APPROVER_NAME
              ELSE ACC_REQUEST.REQUEST_STATUS
          END as [put the name you wish for output column here, no square brackets]
      FROM ACC_REQUEST
      INNER JOIN ACC_APPROVAL ON [I'm assuming some kind of join condition here]
      

      【讨论】:

      • 比我的更好;)
      猜你喜欢
      • 1970-01-01
      • 2012-07-16
      • 1970-01-01
      • 2016-11-10
      • 2013-09-19
      • 1970-01-01
      • 1970-01-01
      • 2023-02-11
      • 2016-10-06
      相关资源
      最近更新 更多