【发布时间】:2011-08-06 14:26:12
【问题描述】:
我有 2 张桌子:
表格:电影
MovieID -- Name
1 -- Movie1
2 -- Movie2
表格:类型
MovieID -- Type
1 -- DVD
1 -- Bluray
1 -- VCD
2 -- DVD
我需要一个查询来在一行中找出这个: 电影 1 : 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
【问题讨论】:
标签: php mysql sql join left-join