根据某个字段将多条记录的某个字段拼接成一个字段(SQL查询)

根据某个字段将多条记录的某个字段拼接成一个字段(SQL查询)
原SQL:

SELECT q.`id`, q.`questionContent`, o.`questionOption` FROM `exam_question` q
INNER JOIN `exam_question_option` o ON q.`id` = o.`questionId` 
WHERE q.`questionType` = 1
1
2
3
查询结果:

id    questionContent    questionOption
1    1+1=?    1
1    1+1=?    2
1    1+1=?    3
1    1+1=?    4
2    1+2=?    3
2    1+2=?    4
2    1+2=?    5
2    1+2=?    6
非欲也,遂改; 
根据 id,将 questionOption 整合在一起;

更改后的SQL:

SELECT q.`id`, q.`questionContent`, GROUP_CONCAT(o.`questionOption`) AS questionOptionList FROM `exam_question` q
INNER JOIN `exam_question_option` o ON q.`id` = o.`questionId` 
WHERE q.`questionType` = 1
GROUP BY q.`id`
1
2
3
4
查询结果:

id    questionContent    questionOptionList
1    1+1=?    1,2,3,4
2    1+2=?    3,4,5,6
善,此即吾所欲也;

划重点,GROUP_CONCAT()函数了解下,并且不要忘了 GROUP BY id
--------------------- 
来源:CSDN 
原文:https://blog.csdn.net/qq_35723367/article/details/79469962 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值