[英]Multiple many-to-many relations SQL query
我有一张events
表event_date
和event_category
。 我使用event_to_date
和event_to_category
有两个多对多关系。
我正在尝试建立按日期分类的事件页面。 我可以按日期或类别提取事件,但不确定如何按日期对事件进行分组。
给定类别的示例:
21 Feb
Event 1
Event 2
22 Feb
Event 2
Event 3
获取事件的代码是:
SELECT * from event e
INNER JOIN event_to_category etc ON etc.event_id = e.id
WHERE etc.category_id = 53
编辑:下面的表架构
events: id, title, name, desc, archived, body
event_date: id, name
event_category: id, title, desc, active
event_to_date: id, event_id, event_date_id
event_to_category: id, event_id, event_category_id
尝试:
select ed.name, e.title
from event e
join event_to_category etc
on etc.event_id = e.id
join event_category ec
on etc.event_category_id = ec.id
join event_to_date etd
on e.id = etd.event_id
join event_date ed
on etd.event_date_id = ed.id
where etc.category_id = 53
order by ed.name
对于哪些列相互引用,我做了几个假设。 我还假定感兴趣的是“ event_date”表上名为“ name”的字段。
我认为您只需要加入其他两个表和GROUP BY
日期,就我所知,它应该是event_date
表的name
SELECT * from event e
INNER JOIN event_to_category etc
ON etc.event_id = e.id
INNER JOIN event_to_date etd
ON e.id = etd.event_id
INNER JOIN event_date ed
ON etd.event_date_id = ed.id
WHERE etc.category_id = 53
GROUP BY ed.name
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.