我一直试图得到一个查询,这将允许我把一个事件(链接表)的所有音乐流派在一个单一的行,但我一直很失败,迄今为止;它不断地返回两行,每行都有相同的事件信息,但是在左连接处更改了音乐类型条目。我的问题是:
SELECT
events.*
, music_genres_link.*
FROM events
LEFT JOIN music_genres_link
ON events.id = music_genres_link.event_id
WHERE events.id=1
ORDER BY date DESC
它的回报是:
我怎么把这两排放在一排呢?我需要类型标题和类型id列。
我想将整个事件行和左连接到结果左侧链接表中找到的所有音乐类型,如下所示:
【事件结果】【音乐类型1(id,标题)】【音乐类型2(id,标题)】等
2条答案
按热度按时间ruyhziif1#
似乎有两行与联接匹配
music_genres_link
. 你可以从两个'gender_id'值-5和295中看到这一点。好了,现在您已经编辑了您的问题,您想要的是一些不典型的sql。你可以用pivot来实现这一点,但是你没有类型数量的限制,我也不推荐。你需要重新考虑你的table和你想要达到的目标。
ioekq8ef2#
我猜你只是想
group_concat()
:这假设您想要
genre_title
只是。如果你想要genre_id
,则可以添加另一列。