0

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

我有一张歌手表和一张活动表,它们具有由名册表管理的多对多关系。每个花名册记录链接到一个 SingerID 和一个 EventID。我想创建一个表单的浏览表:

问题是一些歌手可能没有相关的事件。

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

4

2 回答 2

1

以不需要存在的方式使用 LEFT JOIN

于 2012-08-30T16:00:12.390 回答
0

我也觉得Mike的做法,Query应该是这样的

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    
于 2012-08-30T16:02:50.153 回答