【发布时间】:2018-02-08 05:54:13
【问题描述】:
我有一个表格,想要获取基于性别和分数的记录,比如分数超过 70 分时,男性数据将显示其他女性数据,我想使用案例陈述。 mysql查询是
select Parent_Id,Emp_Id,Emp_Gender,Emp_Score from EVENT_DETAIL where
Emp_Score = (case when Emp_Score > '70' then (select * from EVENT_DETAIL
where Emp_Gender = 'Male') else (select * from EVENT_DETAIL where
Emp_Gender = 'Female') end);
但在此操作数的错误应该包含 1 列
【问题讨论】:
-
CASE表达式必须返回单个标量值。您正在返回整个 table (许多行,许多列)。您的查询毫无意义。 -
您将 CASE 表达式与 CASE 语句混合在一起。