查找多对多表关系中的最小和最大链接值

时间:2012-08-30 15:54:20

标签: php mysql

我正在构建合唱管理数据库,需要创建一个特定的查询。 (PHP中的MySQL编程。)

我有一张歌手表和一张由名册表管理的多对多关系的事件表。每个名册记录链接到一个SingerID和一个EventID。我想创建一个表格的浏览表:

问题在于,有些歌手可能没有任何相关事件。

有没有办法在单个MySQL查询中执行此操作,或者我是否需要编写一个查询来列出我的所有歌手,以及第二个查询以列出每个歌手的所有事件,然后检查第二个查询提取第一个和最后一个记录(假设我按日期排序最后一个查询)?

2 个答案:

答案 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