我有以下表格:
Table categories {
-id- -name-
1 Action
2 Comedy
4 Drama
5 Dance
}
Table movies {
-id- -name- -description-
1 Example 1 Movie description 1
2 Example 2 Movie description 2
4 Example 3 Movie description 3
}
Table movies_categories {
-movie_id- -category_id-
1 2
2 1
4 3
}
我想从电影表中选择所有内容,并且还将该电影的类别连接在一个以逗号分隔的列中(或者以逗号分隔的任何内容)。
我自己给了它一个镜头,但我无法连接类别(现在它只选择第一个类别并忽略其余类别),而且我也无法添加WHERE子句,这是我真正需要的。我刚收到语法错误,为什么会有任何想法?
SELECT movies.*, categories.name FROM movies LEFT JOIN movies_categories ON (movies.id = movies_categories.movie_id) LEFT JOIN categories ON (movies_categories.category_id = categories.id)
答案 0 :(得分:1)
您可以使用GROUP_CONCAT:
SELECT movies.*, GROUP_CONCAT(categories.name)
FROM movies
LEFT JOIN movies_categories ON (movies.id = movies_categories.movie_id)
LEFT JOIN categories ON (movies_categories.category_id = categories.id)
GROUP BY movies.id