Я использую SQL для моделирования данных с похожими категориями:
select TA.leaderCD, TA.EmpCD, TA.message
from
(select '1001' as EmpCD, 'L001' as leaderCD,'M1' as message
union
select '1001','L002','M1'
union
select '1001', 'L003','M1'
union
select '1002', 'L001','M1'
union
select '1002', 'L002','M2'
union
select '1002', 'L004','M2'
union
select '1003', 'L002','M1'
union
select '1003', 'L003','M1'
union
select '1003', 'L005','M2'
union
select '1004', 'L002','M1'
union
select '1004', 'L003','M2'
union
select '1004', 'L004','M2'
union
select '1004', 'L005','M3') as TA
order by
TA.leaderCD
Результат:
leaderCD EmpCD message
L001 1001 M1
L001 1002 M1
L002 1001 M1
L002 1002 M2
L002 1003 M1
L002 1004 M1
L003 1001 M1
L003 1003 M1
L003 1004 M2
L004 1002 M2
L004 1004 M2
L005 1003 M2
L005 1004 M3
Я хочу разделить данные в соответствии с 1-м столбцом и 3-м столбцом.
Если 1-й столбец (leaderCD) и 3-й столбец (сообщение) содержат одинаковые данные, объедините 2-й столбец вместе, используйте точку с запятой, как показано ниже:
leaderCD EmpALL message
L001 1001;1002 M1
L002 1001;1003;1004 M1
L002 1002 M2
L003 1001;1003 M1
L003 1004 M2
L004 1002;1004 M2
L005 1003 M2
L005 1004 M3
Я пыталсяГруппировать по, но я нахожу, что группа по не может это сделать.
Что мне делать?