如何将多个case when的结果输出到同一列?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将多个case when的结果输出到同一列?相关的知识,希望对你有一定的参考价值。

select CTN_TYPE1 ,CTN_COUNT1,CTN_TYPE2 ,CTN_COUNT2,CTN_TYPE3 ,CTN_COUNT3,CTN_TYPE4 ,CTN_COUNT4,
CASE
when nvl(CTN_TYPE1,'1')!='1' and nvl(CTN_COUNT1,0)!=0 then '['||CTN_TYPE1 ||'x'||CTN_COUNT1||']'
when nvl(CTN_TYPE1,'1')='1' or nvl(CTN_COUNT1,0)=0 then ' kong1'
else 'others'
end
CASE
when nvl(CTN_TYPE2,'1')!='1' and nvl(CTN_COUNT2,0)!=0 then '['||CTN_TYPE2 ||'x'||CTN_COUNT2||']'
when nvl(CTN_TYPE2,'1')='1' or nvl(CTN_COUNT2,0)=0 then ' kong2'
else 'others'
end
CASE
when nvl(CTN_TYPE3,'1')!='1' and nvl(CTN_COUNT3,0)!=0 then '['||CTN_TYPE3 ||'x'||CTN_COUNT3||']'
when nvl(CTN_TYPE3,'1')='1' or nvl(CTN_COUNT3,0)=0 then ' kong3'
else 'others'
end
CASE
when nvl(CTN_TYPE4,'1')!='1' and nvl(CTN_COUNT4,0)!=0 then '['||CTN_TYPE4 ||'x'||CTN_COUNT4||']'
when nvl(CTN_TYPE4,'1')='1' or nvl(CTN_COUNT4,0)=0 then ' kong4'
else 'others'
end
as ddddd from HW_INFO;
代码如上,哪里错了,不能输出到同一个字段dddddd中
oracle中的sql语言

参考技术A 在数据库中想自动输出到excel中, 恐怕实现不了。得借助第三方语言|工具。plsql developer, 可以将单张表的数据导出到excel。追问

忘记说了,在oracle中 sql语言

myysql case when多个参数结果

-- 查看所有学生的姓名班级,如果班级为1表示一年级,2表示二年级,3表示三年级
select 
s.StudentName, 
CASE 
WHEN s.GradeId = 1 THEN '一年级' 
WHEN s.GradeId = 2 THEN '二年级' 
WHEN s.GradeId = 3 THEN '三年级' 
ELSE '其他' END 
from student s

以上是关于如何将多个case when的结果输出到同一列?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Spark 数据帧中的 When 子句将多个列发送到 udf?

case when 用法

myysql case when多个参数结果

MySQL CASE WHEN where 子句导致失败

CASE WHEN 在 HiveQL 中的条件

MySQL 的CASE WHEN 语句