MySQL拼接函数之group_concat妙用
程序员文章站
2024-03-20 08:49:46
...
前言
这几天一直在捣鼓老项目,客户每天都在提新需求,改的快吐血了,WTF!!!
已知contract是合同主表,contract_detail是合同商品子表,它们直接是一对多的关系,通过合同流水号CUSTOMS_CODE来关联。举个栗子:
contract
contract_detail
如图所示,合同流水号SC370193301300000005下有两个商品。
现遇到个新需求,展示合同列表的时候也需要展示它所属的商品的MC编码,有多个的话用逗号来间隔,虽然可以在代码里实现,但是用MySQL的拼接字符串函数GROUP_CONCAT(expr)来直接用SQL实现。
SQL如下:
SELECT
c.*,
(
SELECT
GROUP_CONCAT( cd.MC )
FROM
contract_detail cd
WHERE
c.CUSTOMS_CODE = cd.CUSTOMS_CODE
AND cd.MC != ''
) mc
FROM
`contract` c
查询结果如下:
推荐阅读
-
MySQL拼接函数之group_concat妙用
-
Mysql中使用GROUP_CONCAT()函数会出现:BLOB问题的解决?利用cast函数
-
mysql中GROUP_CONCAT()函数的含义及用法
-
【解决】Mysql 使用group_concat函数 出现拼接的数据缺失
-
MySQL中CONCAT()和GROUP_CONCAT()函数的使用
-
MySQL group_concat()函数
-
MYSQL的group_concat()函数中实现将多行同一字段数据合并成一个数据 博客分类: 数据库 sqlMySQL
-
数据库学习之MySQL (十一)—— 统计函数 COUNT MIN MAX AVG SUM
-
mysql的group_concat函数使用示例
-
mysql的group_concat函数使用示例