mysql COALESCE用法 ,GROUP_CONCAT分组用法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
sdroot.dept_name company,
        COALESCE(
        (case when sd5.dept_name = sdroot.dept_name then null else sd5.dept_name end) ,
        (case when sd4.dept_name in(sdroot.dept_name,sd5.dept_name)  then null else sd4.dept_name end) ,
        (case when sd3.dept_name in(sdroot.dept_name,sd4.dept_name) then null else sd3.dept_name end) ,
        (case when sd2.dept_name in(sdroot.dept_name,sd3.dept_name,sd4.dept_name)  then null else sd2.dept_name end) ,
        (case when sd1.dept_name in(sdroot.dept_name,sd3.dept_name,sd2.dept_name,sd3.dept_name,sd4.dept_name) then null else sd1.dept_name end)) deptName0,
        COALESCE(
        (case when sd1.order_num = '3' and sd1.dept_name is not Null then sd1.dept_name  end) ,
        (case when sd2.order_num = '3' and sd2.dept_name is not Null then sd2.dept_name  end) ,
        (case when sd3.order_num = '3' and sd3.dept_name is not Null then sd3.dept_name  end) ,
        (case when sd4.order_num = '3'and sd4.dept_name is not Null then sd4.dept_name  end)
        ) deptName1,
 
        coalesce(
        (case when sd1.order_num = '4' and sd1.dept_name is not Null then sd1.dept_name end) ,
        (case when sd2.order_num = '4' and sd2.dept_name is not Null then sd2.dept_name  end) ,
        (case when sd3.order_num = '4' and sd3.dept_name is not Null then sd3.dept_name end) ,
        (case when sd4.order_num = '4' and sd4.dept_name is not Null then sd4.dept_name  end)
        ) deptName2,
 
        coalesce(
        (case when sd1.order_num = '5' and sd1.dept_name is not Null then sd1.dept_name end) ,
        (case when sd2.order_num = '5' and sd2.dept_name is not Null then sd2.dept_name  end) ,
        (case when sd3.order_num = '5' and sd3.dept_name is not Null then sd3.dept_name end) ,
        (case when sd4.order_num = '5' and sd4.dept_name is not Null then sd4.dept_name  end) ,
        (case when sd5.order_num = '5' and sd5.dept_name is not Null then sd5.dept_name  end)
        ) deptName3,
        sd.dept_name deptName,
        (select GROUP_CONCAT(c.dept_name ORDER BY c.dept_id asc) as deptNameAll  from sys_dept c where find_in_set (c.dept_id ,sd.ancestors)) as deptNameAll,

  

posted @   A汉克先生  阅读(42)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示