用于sql查询的IF、ELSE语句

Posted

技术标签:

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

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

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

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

【问题讨论】:

【参考方案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]

【讨论】:

比我的更好;)

以上是关于用于sql查询的IF、ELSE语句的主要内容,如果未能解决你的问题,请参考以下文章