之前思考会不会出现这样的问题:(测试结果是不会出现这个问题)
如果u.id是数字自增长的,就需要做处理,UUID不用处理,因为比较的是字符串包含。
1、如果数据存储人员或者其他,用一个字段存储,并且用逗号分隔。
eg:一个字段存储多个人id,逗号分隔。查询出列表,带上人员名称用逗号分隔。
SELECT
p.*, od. NAME AS dName,
(
SELECT
GROUP_CONCAT(u. NAME)
FROM
org_user u
WHERE
FIND_IN_SET(CAST(u.id AS CHAR), p.member)
) AS members
FROM
hazard_p p
LEFT JOIN org_d od ON od.id = p.depart_id
LEFT JOIN sys_u u FIND_IN_SET(CAST(u.id AS CHAR), p.member)
WHERE
1=1
2、group_concat 和 concat 的区别
group_concat:
select group_concat(name) as names from user
concat:
select concat(name) as names from user
本文探讨了在SQL中使用group_concat进行字段拼接的方法,并对比了concat函数的用法,介绍了如何处理多个人员ID存储及查询的场景。

553

被折叠的 条评论
为什么被折叠?



