ITPUB??ì3
挑战终极任务6人行
ITPUB论坛 » MS SQL Server » 求SQL语句


您有 1 条公共消息
  • 来自: 公共消息 标题: 3-5月ITPUB数据库 ... 内容: ITPUB与3月和5月分别安排了Oracle 11g DBA和Oracle性能优化培训,以及 ...

    标题: [原创] 求SQL语句
    离线 zxiangsen
    初级会员



    精华贴数 0
    个人空间 0
    技术积分 8 (137781)
    社区积分 0 (1425290)
    注册日期 2007-5-13
    论坛徽章:0
          
          

    发表于 2007-5-13 15:11 
    求SQL语句

    有两个表T1,T2,要统计第一个表T1的全部字段和第二个表T2的部分字段,但是第一个表T1与第二个表T2的数据关系是通过id字段一对多的关系,即第一个表T1的一条数据对应第二个表T2的多条数据,统计结果不能重复,请教有哪位能指点一下


    只看该作者    顶部
    离线 kissmoon
    努力飞



    精华贴数 0
    个人空间 0
    技术积分 5981 (276)
    社区积分 30 (7701)
    注册日期 2005-4-13
    论坛徽章:3
    会员2007贡献徽章ITPUB新首页上线纪念徽章数据库板块每日发贴之星   
          

    发表于 2007-5-13 18:17 
    没有数据,不太明白
    先各自统计,然后再合一起输出结果,可行?


    __________________
    个性签名:浪费网络流量、占用页面篇幅!让平淡在记忆中成为感动!!
    只看该作者    顶部
    离线 hxd001_810
    卡卡西


    精华贴数 0
    个人空间 0
    技术积分 4375 (392)
    社区积分 0 (1326829)
    注册日期 2007-3-10
    论坛徽章:7
    管理团队成员会员2007贡献徽章授权会员生肖徽章2007版:鸡生肖徽章2007版:蛇生肖徽章2007版:鼠
          

    发表于 2007-5-13 20:19 
    select a.*,b.col1,b.col2
    from 表1 a left join 表2 b on a.id=b.id


    __________________
    世界运行在数据上!
    只看该作者    顶部
    在线/呼叫 caixia615
    人生如梦


    精华贴数 2
    个人空间 0
    技术积分 6136 (273)
    社区积分 5293 (372)
    注册日期 2007-1-5
    论坛徽章:11
    ITPUB元老生肖徽章2007版:鼠    
          

    发表于 2007-5-14 08:44 
    LZ最好贴一部分数据出来,这样说着模糊


    __________________
    如果我是你眼中的一滴泪 我会努力的流下来流到你嘴裏,因为我真的想吻你. 如果你是我眼中的一滴泪, 那麽我会永远不会哭泣,因为我怕失去你...
    只看该作者    顶部
    离线 guangdongcandy
    雨音


    精华贴数 0
    个人空间 0
    技术积分 314 (7399)
    社区积分 68 (5176)
    注册日期 2005-3-22
    论坛徽章:1
    ITPUB新首页上线纪念徽章     
          

    发表于 2007-5-14 08:57 
    敘述得好模糊啊!


    __________________
    The limits of my language mean the limits of my world.
    只看该作者    顶部
    离线 ceodmk
    初级会员



    精华贴数 0
    个人空间 0
    技术积分 4 (176074)
    社区积分 0 (483301)
    注册日期 2005-6-17
    论坛徽章:0
          
          

    发表于 2007-5-14 09:39 
    有一个办法就是使用子查询,但是,如果是1对多的关系的话可能有些数据不能显示!


    只看该作者    顶部
    离线 chichunhua
    版主


    精华贴数 2
    个人空间 40
    技术积分 12316 (122)
    社区积分 9654 (217)
    注册日期 2005-4-7
    论坛徽章:305
    现任管理团队成员2010新春纪念徽章2010年世界杯参赛球队:斯洛伐克   
          

    发表于 2007-5-14 11:35 
    用临时表也可以,


    __________________
    努力學習,學習,再學習Impossible is Nothingchichunhua@itpub.net
    只看该作者    顶部
    离线 limingqiu5021
    一般会员



    精华贴数 0
    个人空间 0
    技术积分 118 (17211)
    社区积分 2 (35961)
    注册日期 2006-9-14
    论坛徽章:0
          
          

    发表于 2007-5-15 08:58 
    select distinct a.*,b.col1,b.col2
    from 表1 a left join 表2 b on a.id=b.id,
    不知道是不是这意思,因为楼主叙述的模糊


    只看该作者    顶部
    离线 CoffeeBear
    初级会员



    精华贴数 0
    个人空间 0
    技术积分 14 (85264)
    社区积分 0 (1427823)
    注册日期 2007-5-15
    论坛徽章:0
          
          

    发表于 2007-5-15 10:47 
    --有表A(ID int,col1 varchar(20))
    --表B(ID int,col2 varchar(20))
    --表A和表B用ID关联
    select a1.ID,col1,col2=(select max(col2) from B where ID=a1.id) from A a1

    是不是这个意思,楼主?


    只看该作者    顶部
    离线 CoffeeBear
    初级会员



    精华贴数 0
    个人空间 0
    技术积分 14 (85264)
    社区积分 0 (1427823)
    注册日期 2007-5-15
    论坛徽章:0
          
          

    发表于 2007-5-15 10:48 
    create table tb1(id int,col1 varchar(10))
    create table tb2(id int,col2 varchar(10))
    insert tb1 select 1,'a'
    union all select 2,'b'
    union all select 3,'c'
    union all select 4,'d'


    insert tb2 select 1,'a'
    union all select 1,'b'
    union all select 2,'c'
    union all select 2,'d'
    union all select 3,'e'
    union all select 3,'c'
    union all select 3,'d'
    union all select 1,'e'
    union all select 4,'e'

    select a1.id,col1,col2=(select max(col2) from tb2 where id=a1.id) from tb1 a1

    drop table tb1,tb2

    id          col1       col2      
    ----------- ---------- ----------
    1           a          e
    2           b          d
    3           c          e
    4           d          e


    只看该作者    顶部
    相关内容


    CopyRight 1999-2006 itpub.net All Right Reserved.
    北京皓辰网域网络信息技术有限公司. 版权所有
    E-mail:Webmaster@itpub.net
    网站律师 隐私政策 知识产权声明
    京ICP证:060528号 联系我们