[英]Group_Concat with join
我有這兩個表: t_main
票 | 日期 | Main_Status |
---|---|---|
1 | 2020 年 11 月 23 日 | AA |
1 | 2020 年 11 月 23 日 | BB |
2 | 2020 年 10 月 11 日 | BB |
3 | 2020 年 11 月 13 日 | AA |
3 | 2020 年 11 月 13 日 | 抄送 |
3 | 2020 年 11 月 13 日 | BB |
4 | 2020 年 11 月 13 日 | AA |
和t_task
票 | 任務編號 | 任務_狀態 |
---|---|---|
1 | 3 | BB |
1 | 3 | 抄送 |
3 | 1 | AA |
3 | 2 | 抄送 |
3 | 2 | AA |
3 | 1 | BB |
4 | 1 | AA |
4 | 2 | AA |
4 | 2 | 抄送 |
到目前為止,我已經分別實現了 group_concat t_main 和 t_task 的狀態。 這是所需的 output:
票 | 日期 | Main_Status_Concat | 任務編號 | Task_Status_Concat |
---|---|---|---|---|
1 | 2020 年 11 月 23 日 | AA BB | 3 | BB CC |
2 | 2020 年 10 月 11 日 | BB | NULL | NULL |
3 | 2020 年 11 月 13 日 | AA CC BB | 1 | AA BB |
3 | 2020 年 11 月 13 日 | AA CC BB | 2 | 抄送AA |
4 | 2020 年 11 月 13 日 | AA | 1 | AA |
4 | 2020 年 11 月 13 日 | AA | 2 | AA CC |
太感謝了!
編輯:
我可以單獨執行查詢,我不能加入它們
第一個查詢返回票證的所有連接狀態
SELECT t_main.ticket,
Group_Concat( MAIN_STATUS Separator ' ' )
AS Main_Status_Concat FROM t_main t1
group by t1.ticket;
2nd Query Returning ticket with task and concat task_status
SELECT t_task.ticket, t_task.task_number,
Group_Concat( TASK_STATUS Separator ' ' ) AS Task_Status_Concat FROM t_task t2
group by t2.ticket, t2.task;
我可以將任務 ID 與 t_main 列一起加入,但無法正確顯示連續任務狀態。
將主表與獲取任務的子查詢連接起來。
SELECT m.ticket, m.date, GROUP_CONCAT(m.main_status SEPARATOR ' ') AS main_status_concat, t.task_number, t.task_status_concat
FROM t_main AS m
LEFT JOIN (
SELECT ticket, task_number,
Group_Concat(TASK_STATUS Separator ' ') AS Task_Status_Concat
FROM t_task
group by ticket, task_number
) AS t ON m.ticket = t.ticket
GROUP BY m.ticket, t.task_number, m.date, t.task_status_concat
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.