Re: [SQL ] left join問題
看板Database (資料庫)作者paranoia5201 (社會黑暗、行路難)時間3年前 (2021/01/23 13:09)推噓0(0推 0噓 0→)留言0則, 0人參與討論串2/2 (看更多)
建議解法:
select
a.*,
subject subject_original,
substring_index(subject, ',', 1) subject_1,
if(substring_index(subject, ',', -1) = substring_index(subject, ',', 1),
null, substring_index(subject, ',', -1)) subject_2
from 表A a
inner join
(
select id, group_concat(subject) subject
from 表B
group by id
) b
on a.id = b.id
;
如果你的表B,不確定重複 ID 會有幾個,我會不建議用這方式處理。
報表可以用別的方式呈現,例如呈現出 subject_original 就好。
※ 引述《titiru (WHITEROSE)》之銘言:
: 資料庫名稱:MYSQL
: 資料庫版本:8.0
: 內容/問題描述:
: 您好 我有兩張表
: 表A
: id sname
: 1 AAA
: 2 BBB
: 3 CCC
: 表B
: id subject
: 1 c++
: 1 python
: 2 R
: 3 ASM
: sql 語法: select 表A.id 表A.sname 表B.subject from 表A A
: left join 表B B on A.id=B.id
: 結果:
: id sname subject
: 1 AAA c++
: 1 AAA python
: 2 BBB R
: 3 CCC ASM
: 想要的輸出結果
: id name subject1 subject2
: 1 AAA C+++ python ----->變成一行
: 2 BBB R
: 3 CCC ASM
: 請問語法該如何修改 感謝~~~
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.177.36.225 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Database/M.1611378574.A.2C3.html
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
Database 近期熱門文章
PTT數位生活區 即時熱門文章