SQL连接仅生成一个结果

时间:2010-12-25 07:43:02

标签: php sql mysql join

任何人都可以告诉我为什么这个结果只产生一个结果?考虑到一切都设置正确,并且正确填充了三个表,我取出了group_concat并且它工作但当然有一个php未定义的索引错误!

SELECT
    `songs`.`song_name`,
    `songs`.`add_date`,
    `songs`.`song_id`,
    `songs`.`song_picture`,
    group_concat(DISTINCT artists.artist_name) as artist_name
FROM (`songs`)
JOIN `mtm_songs_artists` ON `songs`.`song_id` = `mtm_songs_artists`.`song_id`
JOIN `artists` ON `artists`.`artist_id` = `mtm_songs_artists`.`artist_id`
ORDER BY `songs`.`song_id` DESC
LIMIT 10

所以我猜这是与group_concat相关的东西。

最好的问候,

拉​​米

2 个答案:

答案 0 :(得分:0)

在我的情况下应该concat而不是group_concat

答案 1 :(得分:0)

你是对的,这是因为group_concat。 group_concat连接组中的所有项目...如果没有GROUP BY子句,则为整个结果集。如果没有架构,如何修复查询有点难,但我认为您需要按artist_id分组或使用子查询。