任何人都可以告诉我为什么这个结果只产生一个结果?考虑到一切都设置正确,并且正确填充了三个表,我取出了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相关的东西。
最好的问候,
拉米
答案 0 :(得分:0)
在我的情况下应该concat
而不是group_concat
。
答案 1 :(得分:0)
你是对的,这是因为group_concat。 group_concat连接组中的所有项目...如果没有GROUP BY子句,则为整个结果集。如果没有架构,如何修复查询有点难,但我认为您需要按artist_id分组或使用子查询。