ITPUB??ì3
新一届的微软MVP评选已经开始,欢迎各位推荐!
ITPUB论坛 » MS SQL Server » 求SQL语句

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



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

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

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


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



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

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


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


精华贴数 0
个人空间 0
技术积分 4331 (321)
社区积分 0 (1296095)
注册日期 2007-3-10
论坛徽章:6
现任管理团队成员会员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
技术积分 6006 (220)
社区积分 5311 (277)
注册日期 2007-1-5
论坛徽章:10
生肖徽章2007版:牛生肖徽章2007版:鼠2008年新春纪念徽章   
      

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


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



精华贴数 0
个人空间 0
技术积分 246 (7877)
社区积分 53 (4733)
注册日期 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 (143694)
社区积分 0 (470043)
注册日期 2005-6-17
论坛徽章:0
      
      

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


只看该作者    顶部
在线/呼叫 chichunhua
版主


精华贴数 2
个人空间 40
技术积分 10238 (117)
社区积分 9063 (174)
注册日期 2005-4-7
论坛徽章:188
现任管理团队成员体育版块博采纪念徽章体育版块博采纪念徽章   
      

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


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



精华贴数 0
个人空间 0
技术积分 116 (14857)
社区积分 2 (29849)
注册日期 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 (72117)
社区积分 0 (1392327)
注册日期 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 (72117)
社区积分 0 (1392327)
注册日期 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证:010037号 联系我们 法律顾问