我有3个表:访问,访问服务和服务。
我想在一个查询中选择所有访问次数和与之关联的服务!
我试过
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个查询,它会更好吗?
非常感谢sof社区
答案 0 :(得分:0)
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 systemvariable设置为0(默认值)
时才会这样