我正在构建合唱管理数据库,需要创建一个特定的查询。 (PHP中的MySQL编程。)
我有一张歌手表和一张由名册表管理的多对多关系的事件表。每个名册记录链接到一个SingerID和一个EventID。我想创建一个表格的浏览表:
问题在于,有些歌手可能没有任何相关事件。
有没有办法在单个MySQL查询中执行此操作,或者我是否需要编写一个查询来列出我的所有歌手,以及第二个查询以列出每个歌手的所有事件,然后检查第二个查询提取第一个和最后一个记录(假设我按日期排序最后一个查询)?
答案 0 :(得分:1)
以不需要存在的方式使用LEFT JOIN
答案 1 :(得分:0)
我也认为迈克的方式,查询应该是这样的
SELECT * FROM singer
LEFT OUTER JOIN roster ON singer.id =roster.singerid
INNER JOIN event ON event.id=roster.eventid
ORDER BY singer.name,singer.date