在Case Function mysql中使用别名

时间:2017-12-13 12:07:37

标签: mysql

如何在案例函数中使用别名:

SELECT SUM(rupees) as sumvalue, 
CASE
    WHEN sumvalue > 30 THEN "The quantity is greater than 30"
    WHEN sumvalue = 30 THEN "The quantity is 30"
    ELSE "The quantity is something else"
END
from house_details;

2 个答案:

答案 0 :(得分:0)

您无法在需要重复表达的同一级别的查询中使用别名

SELECT SUM(rupees) as sumvalue, 
CASE
    WHEN SUM(rupees) > 30 THEN "The quantity is greater than 30"
    WHEN SUM(rupees) = 30 THEN "The quantity is 30"
    ELSE "The quantity is something else"
END
from house_details;

自定义别名可以在外部查询中访问,如

SELECT sumvalue,
    CASE
        WHEN sumvalue > 30 THEN "The quantity is greater than 30"
        WHEN sumvalue = 30 THEN "The quantity is 30"
        ELSE "The quantity is something else"
    END
FROM(
    SELECT SUM(rupees) as sumvalue from house_details;
) t

答案 1 :(得分:0)

SELECT SUM(rupees) as sumvalue, 
(CASE
    WHEN sumvalue > 30 THEN "The quantity is greater than 30"
    WHEN sumvalue = 30 THEN "The quantity is 30"
    ELSE "The quantity is something else"
END ) as MyValue
from house_details;

注意:只需使用一些括号,它就可以正常工作。

使用括号内的CASE函数,即(值> 30时为CASE,则“值大于30” 当value = 30时,“ Value是30”)为MyValue