Re: [SQL ] left join问题

楼主: paranoia5201 (迈向研究生)   2021-01-23 13:09:32
建议解法:
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

Links booklink

Contact Us: admin [ a t ] ucptt.com