簡體   English   中英

多個多對多關系SQL查詢

[英]Multiple many-to-many relations SQL query

我有一張eventsevent_dateevent_category 我使用event_to_dateevent_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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM