天极Yesky
  • 笔记本电脑
    笔记本
  • 台式电脑
    台式机
  • 手机
    手机
  • 电脑硬件DIY
    DIY硬件
  • CPU
    主板
    音箱
  • 硬盘
    显卡
    键鼠
  • 内存光驱
    显示器
    机箱电源

  • 数码相机DC
    数码相机
  • MP3播放器
    MP3/MP4
  • 数码摄像机DV
    摄像机
  • 电脑外设
    外设
  • 网络
    网络
  • 服务器
    服务器
  • 数字家庭
    数字家庭
  • 群乐
    群乐
  • 产品报价 行情 商家 新闻 评测 | 软件 设计 网页 开发 安全 论坛 E时代 游戏 图片 壁纸 下载 网摘 博客 索尼专区 Vista 科技奥运
    天极网
    连接派生表格
    作者: Rudy Limeback
    出处:
    责任编辑: 丁一凡
    [ 2004-12-14 17:58 ]


      我有三个表格——表格1,表格2,表格3。全部这三个表格都包含有日常基本信息。我已经写了一些SQL语句,来概述分别基于不同表格的特定栏的表格信息。我是否能够写一个SQL语句,使得它能够分别在这三个表格中的每一个中作摘要,然后摘要信息可以被连接起来呢?这种SQL语句不应该创造出任何单独的摘要表格。

    这个问题在2004年12月10日提出
     
      为每一个查询使用一个派生表,并把他们在公用分组栏(common grouping column)连接在一起。举个例子,如果公用分组栏是userid,那么你应该这样使用:
    select dt1.userid
         , dt1.sumcol1 as table1_sumcol1
         , dt2.sumcol1 as table2_sumcol1
         , dt3.sumcol1 as table3_sumcol1
      from (
           select userid
                , sum(col1) as sumcol1
             from table1
           group
               by userid
           ) as dt1
    inner
      join (
           select userid
                , sum(col1) as sumcol1
             from table2
           group
               by userid
           ) as dt2
        on dt1.userid = dt2.userid   
    inner
      join (
           select userid
                , sum(col1) as sumcol1
             from table3
           group
               by userid
           ) as dt3
    on dt1.userid = dt3.userid
      请注意每个派生表格是怎样拥有一个别名的。此外,在外部选择列表中,注意来自不同牌证表格的栏的别名需要有所区别。


     

    笔名:
    请您注意:

     遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。

     天极网拥有管理笔名和留言的一切权利。
    相关内容