场景:
系统里面默认的职称信息是——如果一个人有多个职称信息,就会显示多行记录。
要实现——如果有多行记录,就转变为一人一行,一行里面有多个值用逗号隔开。
解决方案:
人员职称SQL如下:
select
psndoc,
wm_concat(czzcname) as czzcname
from (
select distinct
bd_psndoc.name as psnname,
bd_psndoc.pk_psndoc as psndoc,
hi_psndoc_title.pk_techposttitle,
czzc.name as czzcname
from bd_psndoc
LEFT OUTER JOIN hi_psndoc_title on hi_psndoc_title.pk_psndoc=bd_psndoc.pk_psndoc
LEFT OUTER JOIN bd_defdoc czzc on czzc.pk_defdoc=hi_psndoc_title.pk_techposttitle )
group by psndoc
人员职业资格sql如下:
select
psndoc,
wm_concat(czzgname) as czzgname
from (
select distinct
bd_psndoc.name as psnname,
bd_psndoc.pk_psndoc as psndoc,
hi_psndoc_nationduty.workname,
czzg.name as czzgname
from bd_psndoc
LEFT OUTER JOIN hi_psndoc_nationduty on hi_psndoc_nationduty.pk_psndoc=bd_psndoc.pk_psndoc
LEFT OUTER JOIN bd_defdoc czzg on czzg.pk_defdoc=hi_psndoc_nationduty.workname )
group by psndoc