2013-09-03 3 views
2

이 내 질문에 대한 적절한 제목 인 경우 나도 몰라,하지만 난 고급 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을 만들고 싶습니다. 테이블 장르 mid에서

ID | Title | Genre 

1 | Iron Man | Action, Sci-Fi 

Genre 세부 사항을 가진 모든 영화

+1

당신이 사용하고 있습니까 SQL Server? MySQL은? PostgreSQL? –

+0

당신은 솔루션이 매우 데이터베이스에 의존하기 때문에 어떤 데이터베이스를 사용하고 있는지 알려줄 필요가 있습니다. – HLGEM

+0

나는 웹, PHP를위한 것, 아마 어떤 종류의 SQL, 아마 MySql ...인지 알지 못한다. : X – GigaC

답변

0

.. movie table에서 영화의 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

+0

고마워 친구 :) – GigaC

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 
+0

이것은 모든 데이터베이스 백엔드에서 작동하지 않을 것이다. – HLGEM

+1

고마워요, 나도 몰라,하지만이 일하는 것 : D – GigaC