我有一张员工桌
我想要的是salary<6000转换成一列salary>6000转换成另一个表…就像这样
我试着这样做:不产生正确的结果
SELECT
(CASE WHEN salary < 6000 THEN salary END) salary_less_then_6000,
(CASE WHEN salary > 6000 THEN salary END) salary_gerater_then_6000
FROM employee
希望你明白我想要什么。任何帮助都是值得赞赏的
1条答案
按热度按时间ejk8hzay1#
实现这一点的方法是创建两个表,一个表的工资<6000,另一个表的工资>=6000,然后
JOIN
他们。现在由于这些表中没有自然排序,我们必须为每个表创建一个人工行号,然后JOIN
他们就是基于这个。因为我们不知道哪个表可能有更多的行,所以我们必须做一个FULL OUTER JOIN
. 不幸的是mysql不支持这一点,所以我们必须用LEFT JOIN
UNION
用一个RIGHT JOIN
:输出(来自我的演示)
sqlfiddle演示