我有一个客户,可以有一个项目,哪个项目可以有画廊,哪些画廊有图像。所以我创建了一个表:每个表中的客户、项目、画廊、图像我在项目中有标识符-client_id、画廊-project_id、图像-gallery_id。我想为特定客户选择所有包含所有图像的项目和画廊。问题是我想分开画廊。我可以在前端用按钮切换画廊。
这是完整的查询,但如何将每个画廊与结果分开:
SELECT im.image_name, im.gid, ga.gallery_name FROM images` AS im, `gallerys` AS ga , `projects` AS pr WHERE pr.id = ga.project_id AND ga.id = im.gid AND pr.id=$id
这是任务的解决方案:
SELECT group_concat( im.image_name ) , im.gid, ga.gallery_name
FROM `gl_images` AS im
JOIN `gl_gallerys` AS ga ON ga.id = im.gid
JOIN `gl_projects` AS pr ON pr.id = ga.project_id
WHERE pr.cid =43
GROUP BY ga.id
它是由 Joe Minichino 和 Gordon 的答案结合而成的 :)