mysql - 组 SQL 2 表

标签 mysql sql

我不知道这个标题是否适合我的问题,但我不是高级 SQL 用户,我只知道基础知识:)

create table movie (id int(4), title varchar(255));

create table genre (id int(4), mid int(4), genre varchar(200));

insert into movie values
(1, 'Iron man'),
(2, 'Titanic');

insert into genre values
(1,1,'Sci-Fi'),
(2,1,'Action'),
(3,2,'Drama');

这里我有 2 个表,一个用于电影,一个用于流派。

我想创建一个如下所示的 SQL。

ID   |   Title   |  Genre

1    |  Iron Man |  Action, Sci-Fi

在流派表中,midmovie 表 中电影的 ID..

最佳答案

对于所有具有流派详细信息的电影:

SELECT 
    m.id AS ID,
    m.title AS Title,
    group_concat(g.genre) AS Genre
FROM 
    movie m
LEFT OUTER JOIN genre g ON (g.mid = m.id)
GROUP BY m.id 

See on sqlfiddle

关于mysql - 组 SQL 2 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18595656/

相关文章:

mysql - 排序字母数字值mysql

mysql - 如何将我的 mysql 数据库从 phpmyadmin 推送到 heroku 的 cleardb?

python - 在 SQLite 或 Python 中聚合

sql - PostgreSQL:如何替换同一字段中的不同值?

mysql - 检测并修复 mysql 表中的多对多

mysql - SQL 查询以检索来自所有用户 friend 的消息

PHP MYSQL 显示今天日期的结果

PHP + MySQL : When I select from two tables, 如何定义我要从哪个表中取 "id"

php - 插入关联表

qgis中的mysql连接