SQL相同属性的不同值转换为一个字符串
函数:wm_concat()
示例:
SELECT dual.hwmc,count(dual.jydbh) zjbgzs ,wm_concat(dual.jyjl) zjjg
from
(
select bdc.hwmc,sh.jydbh,case when sh.jyjl == 1 then '合格' when sh.jyjl == 0 then '不合格' end jyjl
from "SZFMIMP"."T_STOCK_IN_CHECK" sh
inner join "SZFMIMP"."BASIC_DATA_CARGO" bdc on sh.hwdm = bdc.hwdm
union all
select
bdc.hwmc,qi.ZJBGDBH as jydbh,
case when INSTRB(qi.zlzbjgpd,'不达标',1,1)>0 then '不合格'
when INSTRB(qi.zlzbjgpd,'不达标',1,1)=0 then '合格'
end jyjl
from "SZFMIMP"."T_QUALITY_INSPECTION" qi
inner join "SZFMIMP"."BASIC_DATA_CARGO" bdc on qi.hwbm = bdc.hwdm
) DUAL
group by dual.hwmc
order by count(dual.jydbh) desc
执行结果:
可以看出该函数把,符合条件的所有值转换为一个字符串。
通俗点讲:一个班有多个同名的同学,显示的时候不想每个同学都展示一条数据,这个时候就可以用这个函数,让所有同名的同学展示在一起组成一个字符串返回。(具体使用请按照自己的业务理解后合理使用)