我有以下查询未返回预期结果。
我正在尝试从字段group_id获取所有组名,这些字段可能有多个以逗号分隔的group_id(例如,1,4,5,7,22)。我的原始查询仅返回groups_ids列表中列出的第一个组,但在第一个逗号后没有返回任何组。它返回了不到3,000条记录。
要解决此问题,我尝试使用group_concat函数。它工作(没有错误),但它只返回一条记录,当我预计接近3000。
我不确定我是否错误地使用了该功能,或者我只是缺少代码?如果有另一个功能可以更好地工作,我会全力以赴。在此先感谢您的帮助!
我的查询:
select `v`.`asset_id` AS `asset_id`,
`v`.`watched_on` AS `watched_on`,
`v`.`status` AS `Completed_Status`,
`va`.`asset_name` AS `asset_name`,
`u`.`fname` AS `fname`,
`u`.`lname` AS `lname`,
group_concat(distinct `g`.`name` separator ',') AS `group_name`
from (((`vm_video_history` `v`
join `vm_users` `u` on((`u`.`id` = `v`.`user_id`)))
left join `vm_groups` `g` on((`g`.`group_id` = `u`.`group_id`)))
left join `vm_assets` `va` on((`va`.`asset_id` = `v`.`asset_id`)))
order by `v`.`user_id`;