2

我不知道这是否适合我的问题,但我不是高级 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

表中的流派是来自..mid的电影的 ID 。movie table

4

2 回答 2

0
select movie.id, title, group_concat(genre) from movie 
left join genre on mid=movie.id
where movie.id=1
group by movie.id
于 2013-09-03T15:08:42.373 回答
0

对于所有带有Genre详细信息的电影:

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 

参见 sqlfiddle

于 2013-09-03T15:21:21.687 回答