我有一张events
,event_date
和event_category
的表格。我使用event_to_date
和event_to_category
有两个多对多关系。
我正试图在一个类别中建立一个按日期分组的事件页。我可以按日期或类别提取事件,但不确定如何按日期对其进行分组。
对于给定的类别,我想要的示例如下:
21 Feb
Event 1
Event 2
22 Feb
Event 2
Event 3
获取caetgory事件的代码是:
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”的字段是感兴趣的。
关于mysql - 多个多对多关系SQL查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21922446/