a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 數據庫 > 文庫 > 正文

交叉表查詢sql語句

2020-10-29 21:56:05
字體:
來源:轉載
供稿:網友
表一:   
  組名   
  成員1id   
  成員2id   
  成員3id   

  示例數據:   
  沖鋒組     1       2       3   
  后衛組     2       3       4   

  表二:   
  成員id   
  成員姓名   

  示例數據:   
  1     張三   
  2     李四   
  3     王五   
  4     陸二   

  要求結果     

  沖鋒組     張三       李四       王五   
  后衛組     李四       王五       陸二  
復制代碼 代碼如下:

--建立測試環境   
  Create   Table   表1(組名   varchar(10),成員1id   varchar(10),成員2id   varchar(10),成員3id   varchar(10))   
  --插入數據   
  insert   into   表1   
  select   '沖鋒組','1','2','3'   union   
  select   '后衛組','2','3','4'     
    Create   Table   表2(成員id   varchar(10),成員姓名   varchar(10))   
  --插入數據   
  insert   into   表2   
  select   '1','張三'   union   
  select   '2','李四'   union   
  select   '3','王五'   union   
  select   '4','陸二'     

  --測試語句   
    select   a.組名,   
  成員1=(select   成員姓名   from   表2   b   where   a.成員1id=b.成員id),   
  成員1=(select   成員姓名   from   表2   b   where   a.成員2id=b.成員id),   
  成員1=(select   成員姓名   from   表2   b   where   a.成員3id=b.成員id)   
  from   表1   a   

      
  --刪除測試環境   
  Drop   Table   表1   
  Drop   Table   表2   

  /*   
  組名                   成員1                 成員1                 成員1                   
  ----------   ----------   ----------   ----------     
  沖鋒組                 張三                   李四                   王五   
  后衛組                 李四                   王五                   陸二   

  (所影響的行數為   2   行)   
  */

復制代碼 代碼如下:

select     
          a.組名,   
          成員1   =   max(case   b.成員id   =   a.成員1id   then   b.成員姓名   end),   
          成員2   =   max(case   b.成員id   =   a.成員2id   then   b.成員姓名   end),   
          成員3   =   max(case   b.成員id   =   a.成員3id   then   b.成員姓名   end),   
  from     
          表一   a,   
          表二   b   
  group   by   
          a.組名

復制代碼 代碼如下:

select     
          a.組名,   
          成員1   =   max(case   b.成員id   =   a.成員1id   then   b.成員姓名   end),   
          成員2   =   max(case   b.成員id   =   a.成員2id   then   b.成員姓名   end),   
          成員3   =   max(case   b.成員id   =   a.成員3id   then   b.成員姓名   end)   
  from     
          表一   a,   
          表二   b   
  group   by   
          a.組名

復制代碼 代碼如下:

select   a.組名,   
                成員1=(select   成員姓名   from   表2   b   where   a.成員1id=b.成員id),   
                成員1=(select   成員姓名   from   表2   b   where   a.成員2id=b.成員id),   
                成員1=(select   成員姓名   from   表2   b   where   a.成員3id=b.成員id)   
  from   表一   a   

復制代碼 代碼如下:

正解是   
  select   表1.組名,   
                (select   表1.成員姓名   from   表2   b   where   表1.成員1id=表2.成員id)   as   成員1id,   
                (select   表1.成員姓名   from   表2   b   where   表1.成員2id=表2.成員id)   as   成員2id,   
                (select   表1.成員姓名   from   表2   b   where   表1.成員3id=表2.成員id)   as   成員3id   
  from   表1,表2
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 日韩在线免费观看网站 | 一级全黄少妇性色生活片毛片 | 呦一呦二在线精品视频 | 黄色免费网站视频 | 久久久91| 麻豆精品一区二区 | 男女视频在线免费观看 | 91精品国产欧美一区二区成人 | 国产视频中文字幕 | 日韩精品无码一区二区三区 | 国产成人精品免高潮在线观看 | 激情一区二区三区 | 午夜精品福利一区二区三区蜜桃 | 精品一区二区在线免费观看 | 日本久久精品 | 久久色视频 | 成人欧美一区二区三区黑人麻豆 | 在线播放一区二区三区 | 一区二区三区欧美 | 中文字幕一区在线观看视频 | 日韩精品在线免费 | 欧美一级一级一级 | 自拍视频网 | 红杏aⅴ成人免费视频 | 亚洲国产成人在线 | 性一交一乱一透一a级 | 又爽又大又黄a级毛片在线视频 | 越南一级毛片免费 | 日本黄色大片 | 一区二区在线免费观看 | 免费成人高清 | 国产成人一区二区三区影院在线 | 国产一区二区三区在线免费 | 中文字幕第九页 | 色网在线 | 国产精品第一国产精品 | 精品在线免费视频 | 成人看片免费 | 精品日韩 | 色网站免费视频 | 激情欧美日韩一区二区 |