我有使用evento_institucion与Instituciones(多对多)相关的Eventos表。
eventos instituciones evento_institucion
------- ------------- ------------------
id id id
name name evento_id
institucion_id
Eventos与inscripciones表(一对多)相关
inscripciones
-------------
id
evento_id
code
现在,我需要一个列出inscripciones表的SQL查询,但我需要知道eventos.name以及与eventos相关的instituciones.name列表。
答案 0 :(得分:0)
如果您要查找的查询按照' inscripciones'返回单行,并带有以下列:
然后我假设最后一个(名单)给你带来的麻烦。这可以使用MySQL的GROUP_CONCAT函数来完成。
类似以下内容可能有效:
SELECT inscripciones.id, inscripciones.code, eventos.name, GROUP_CONCAT(instituciones.name SEPARATOR ', ')
FROM inscripciones, eventos, evento_institucion, instituciones
WHERE inscripciones.evento_id = eventos.id
AND eventos.id = evento_institucion.evento_id
AND evento_institucion.institucion_id = instituciones.id
GROUP BY inscripciones.id;
答案 1 :(得分:0)
这应该适合你:
select i.*, ev.name, ins.name
from inscripciones i
join evento_institucion ei on i.evento_id = ei.evento_id
join eventos e on ei.evento_id = e.id
join instituciones ins on ei.institucion_id = ins.id