mysql - 将具有相同 id 的数据合并在一列中
问题描述
我有这个问题。我需要在一列中合并具有相同 ID 的数据。数据用“,”分隔。我使用group_concat
但结果是它结合了所有。我需要的是例如:
但结果是:
我的代码
SELECT A.bookId,A.bookDate, A.serviceDate, A.bookTime,A.status, GROUP_CONCAT(C.serviceItemId
SEPARATOR ',') AS Servis, B.custId, B.custFname, B.custLname,B.custContact, B.custEmail, B.gender
FROM booking A
JOIN booking_service C on A.bookId = C.bookId
JOIN customer B ON B.custId =
A.cust_fk WHERE A.cust_fk = 4
ORDER BY A.bookId
有人能帮我吗?
解决方案
为什么不group_concat
将子查询中的值加入到您的主要结果集中:
SELECT A.bookId,
A.bookDate,
A.serviceDate,
A.bookTime,
A.status,
d.Servis,
B.custId,
B.custFname,
B.custLname,
B.custContact,
B.custEmail,
B.gender
FROM (
SELECT bookId,
GROUP_CONCAT(serviceItemId SEPARATOR ',') AS Servis
FROM booking_service
GROUP BY bookId
) d
JOIN booking A ON a.bookID = d.bookID
JOIN booking_service C on A.bookId = C.bookId
JOIN customer B ON B.custId = A.cust_fk WHERE A.cust_fk = 4
ORDER BY A.bookId
如果要将GROUP BY
结果GROUP_CONCAT
限制为例如单个bookId
.
推荐阅读
- css - object-fit:cover 是设置全屏背景视频的推荐方法吗?
- elasticsearch - 如何使用 Postman 将 JSON 数组添加到 elasticsearch
- collections - Kotlin - 在某些条件下使用新值类型通过键对元素进行分组
- ios - 在 CoreData 中保存复杂的 JSON 对象
- java - 如何将现有的 Spring 项目迁移到 Spring Boot
- php - Typo3 8.7.x / Typoscript:获取找到的 TEXT 的页面 uid
- xamarin.ios - 使用 xamarin.ios 和 mvvmcross 从 appdelegate 导航到特定视图
- asp.net - .cshtml 文件未刷新
- r - 如何为矩阵向量乘法构建和存储这个大的下三角矩阵?
- html - 调整浏览器窗口大小时如何自动调整容器(带有元素)的大小?