我正在显示一个页面,列出不同城市的事件:
洛杉矶
肥皂节 2 月 13 日
曲奇大赛 5 月 8 日纽约
星际迷航大会 5 月 5 日迈阿密
泳装大赛
事件只能链接到单个城市(region_id 在事件表上)或标记为“所有城市”(“show_in_all_cities”标记)。在没有多对多连接表(即 event_city)的情况下,有没有办法让标有“show_in_all_cities”的事件出现在每个城市下方?
我当前的查询如下(不考虑“所有城市”标志):
SELECT
event.*,
region.name
FROM event
INNER JOIN region
ON region.region_id = event.region_id
WHERE event.`date` >= CURDATE()
ORDER BY region.sort_order, event.date ASC
然后我使用 PHP 循环输出并显示城市标题。