加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

php – sql – Mysql:在多行上左连接并检索1行

发布时间:2021-04-01 03:44:37 所属栏目:编程 来源:网络整理
导读:我有2张桌子: 表:影戏 MovieID -- Name1 -- Movie12 -- Movie2 表:范例 MovieID -- Type1 -- DVD1 -- Bluray1 -- VCD2 -- DVD 我必要一个查询来找到这一行: Movie1:DVD Bluray VCD 我用了: SELECT Movies.Name,IF(TYPE = 'DVD',1,0 ) AS DVD,IF(TYPE =

我有2张桌子:

表:影戏

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

表:范例

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

我必要一个查询来找到这一行:
Movie1:DVD – Bluray – VCD

我用了:

SELECT Movies.Name,IF(TYPE = 'DVD',1,0 ) AS DVD,IF(TYPE = 'Bluray',0 ) AS Bluray,IF(TYPE = 'VCD',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
最佳谜底 这里可以行使group_concat()成果.

没有颠末测试,但我以为这样的工作应该有用:

SELECT Movies.Name,group_concat(type separator ' - ') as type
FROM Movies 
    LEFT JOIN Types ON Movies.MovieID = Types.MovieID
group by Movies.Name

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读