我有 3 个表:visits、visit_Services 和 services。
我想在一个查询中选择所有访问以及与其链接的服务!
我试过了
SELECT `v`.*, group_concat(s.name)
FROM `visits` `v`
left outer join `visit_service` vs on vs.visit_id = v.id
left outer join `services` s on s.id = vs.service_id
WHERE DATE(v.visit_date) = date(now())
问题是:- 1.结果只返回1次访问 anf group_concat包含所有访问的所有服务 2.这是最好的方法吗?或者如果我将订单分成 2 个查询会更好吗?
非常感谢软件社区
最佳答案
SELECT `v`.*, group_concat(s.name)
FROM `visits` `v`
left outer join `visit_service` vs on vs.visit_id = v.id
left outer join `services` s on s.id = vs.service_id
WHERE DATE(v.visit_date) = date(now())
GROUP BY v.id
请注意,仅当 full_group_by 系统变量设置为 0(默认值)时才会出现此情况
关于mysql - 对通过连接表连接的另一个表中的连续行进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26146967/