【发布时间】:2011-03-11 15:46:58
【问题描述】:
我们在这个查询中有两个感兴趣的表。
首先,我们有一个音乐曲目表,每个曲目都有一个独特的 PK 和一个指向曲目所属专辑的 FK。第二个表是这张专辑表。
所以我们每 1 行专辑大约有 10 行曲目。
我正在尝试将属于一张专辑的所有曲目汇总到一行中,再加上专辑标题(保存在专辑中)。这是为了避免繁琐的 PHP 代码。
目前我们有:
SELECT Album.Image_URL, Track.Track_Title, Track.Price
FROM Album, Track, Artist
WHERE (Album.Album_ID=Track.Album_ID) AND (Artist.Artist_ID=Track.Artist_ID)
ORDER BY Album.Album_Name ASC
这是每行一首曲目,每首曲目都有正确的专辑信息。不过我希望这张专辑的曲目排成一排。
感谢任何帮助, 一个
【问题讨论】:
-
问题在于轨道的数量会有所不同,因此您无法提前知道结果集应该返回多少列。如果您愿意接受最大曲目数为 10,则可以进行一个丑陋的查询,该查询将返回 10 首曲目,如果给定专辑少于 10 首曲目,其中一些可能为 NULL。但是您也可以只为每个专辑/曲目组合返回一行,然后通过遍历返回的行来构建您的数据。
-
你能回答这个问题吗?然后可以标记为已回答... :)
标签: mysql