使用CASE WHEN和另一个CASE WHEN的MySQL解决方案

时间:2018-08-16 07:33:25

标签: mysql case

我在使用以下查询结构时遇到麻烦(我无法运行它,因为我不知道该怎么做)。它的简单形式如下:

SELECT a,b,
 CASE WHEN a=x AND b=y THEN "Something"
 ELSE "Something Else"
 END AS "1st Case",
 CASE WHEN "1st Case"= "Something" THEN "Something New"
 ELSE "Other"
 END AS "2nd Case"
FROM table1

我想到了CTE,但不能在我们的服务器版本中使用它。我想到了子查询,但是不知道如何在外部查询中引用我的自定义列(“ 1st Case”的结果)。

我想这是一个简单的问题,请帮助我。

1 个答案:

答案 0 :(得分:1)

尝试一下:

select x.*, CASE WHEN 1stCase= 'Something' THEN 'Something New'
 ELSE 'Other'
 END AS '2nd Case' from
(SELECT a,b,
 CASE WHEN a=x AND b=y THEN 'Something'
 ELSE 'Something Else'
 END AS 1stCase from table1)x