Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

GROUP_CONCAT e INNER JOIN com cláusula WHERE


O WHERE cláusula restringe registros anteriores ao agrupamento; enquanto o HAVING cláusula restringe os resultados depois agrupamento:
SELECT   course.id, course.name, GROUP_CONCAT(Flag.id) flags
FROM     course
    JOIN course_flags ON course_flags.course_id = course.id
    JOIN flag ON flag.id = course_flags.flag_id
GROUP BY Course.id
HAVING   SUM(flag.name = 'promocja')

Veja em sqlfiddle .