sql - Mysql : Left join on multiple rows and retrieve 1 row

I have 2 tables:

Table : Movies

MovieID -- Name
1          -- Movie1
2          -- Movie2

Table: Types

MovieID -- Type
1          -- DVD
1          -- Bluray
1          -- VCD
2          -- DVD

I need a query to find out this in one row: Movie1: DVD - Bluray - VCD

Я использовал:

SELECT Movies.Name,
IF(TYPE = 'DVD', 1, 0 ) AS DVD,
IF(TYPE = 'Bluray', 1, 0 ) AS Bluray,
IF(TYPE = 'VCD', 1, 0 ) AS VCD
FROM Movies LEFT JOIN Types ON Movies.MovieID = Types.MovieID

Но он возвращает многопластинчатые строки:

Movies.Name -- DVD -- Bluray -- VCD
Movie1          -- 1     -- 0        -- 0
Movie1          -- 0     -- 1        -- 0
Movie1          -- 0     -- 0        -- 1
Movie2          -- 1     -- 0        -- 0

Я хочу:

Movie1          -- 1     -- 1        -- 1
Movie2          -- 1     -- 0        -- 0
5
задан Hamid 15 April 2011 в 19:50
поделиться