gpt4 book ai didi

Mysql 三表连接同时连接一列?

转载 作者:行者123 更新时间:2023-11-29 00:54:18 26 4
gpt4 key购买 nike

我有以下表格:

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
}

我想从 movies 表中选择所有内容,并将该电影的类别连接在一列中,用逗号分隔(或其他任何分隔符)。

我自己试了一下,但无法连接类别(现在它只选择第一个类别而忽略其余类别),而且我也无法添加我真正需要的 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)

最佳答案

您可以使用 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

关于Mysql 三表连接同时连接一列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6862798/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com