用于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语句的主要内容,如果未能解决你的问题,请参考以下文章
如果表不存在,如何运行包含针对另一个 sql 实例上的表的查询的 If-Then-Else 语句?
SQL里if语句和case语句有啥区别吗?哪个使用更高效?就是查询更优化?