ITPUB论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
更多
查看: 8937|回复: 11

[原创] 求SQL语句 [复制链接]

注册会员

初级会员

精华贴数
0
技术积分
8
社区积分
0
注册时间
2007-5-13
论坛徽章:
0
发表于 2007-5-13 15:11:56 |显示全部楼层
有两个表T1,T2,要统计第一个表T1的全部字段和第二个表T2的部分字段,但是第一个表T1与第二个表T2的数据关系是通过id字段一对多的关系,即第一个表T1的一条数据对应第二个表T2的多条数据,统计结果不能重复,请教有哪位能指点一下

注册会员

努力飞

精华贴数
0
技术积分
8206
社区积分
33
注册时间
2005-4-13
论坛徽章:
31
数据库板块每日发贴之星
日期:2007-08-19 01:03:182011新春纪念徽章
日期:2011-02-18 11:43:33生肖徽章2007版:兔
日期:2011-01-20 12:58:49ITPUB季度 技术新星
日期:2011-01-17 11:30:462011新春纪念徽章
日期:2011-01-04 10:24:022010广州亚运会纪念徽章:帆船
日期:2010-11-22 15:33:202010广州亚运会纪念徽章:篮球
日期:2010-11-12 16:44:23ITPUB9周年纪念徽章
日期:2010-10-08 09:28:51设计板块每日发贴之星
日期:2010-09-16 01:01:01ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44会员2007贡献徽章
日期:2007-09-26 18:42:10ITPUB十周年纪念徽章
日期:2011-11-01 16:20:28
发表于 2007-5-13 18:17:52 |显示全部楼层
没有数据,不太明白
先各自统计,然后再合一起输出结果,可行?

使用道具 举报

版主

卡卡西

精华贴数
0
技术积分
4377
社区积分
0
注册时间
2007-3-10
论坛徽章:
12
会员2007贡献徽章
日期:2007-09-26 18:42:102011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:152011新春纪念徽章
日期:2011-01-25 15:41:502011新春纪念徽章
日期:2011-01-25 15:41:01生肖徽章2007版:鸡
日期:2009-11-07 14:03:15生肖徽章2007版:蛇
日期:2008-03-26 08:30:39生肖徽章2007版:鼠
日期:2008-01-02 17:35:53授权会员
日期:2007-12-26 16:34:03管理团队成员
日期:2011-05-07 01:45:08
发表于 2007-5-13 20:19:13 |显示全部楼层
select a.*,b.col1,b.col2
from 表1 a left join 表2 b on a.id=b.id

使用道具 举报

注册会员

人生如梦

精华贴数
2
技术积分
6215
社区积分
5310
注册时间
2007-1-5
论坛徽章:
11
生肖徽章2007版:鼠
日期:2008-04-07 19:47:40ITPUB元老
日期:2010-01-20 10:16:00
发表于 2007-5-14 08:44:19 |显示全部楼层
LZ最好贴一部分数据出来,这样说着模糊

使用道具 举报

注册会员

小魚

精华贴数
0
技术积分
340
社区积分
90
注册时间
2005-3-22
论坛徽章:
3
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44灰彻蛋
日期:2011-08-02 12:22:55ITPUB十周年纪念徽章
日期:2011-11-01 16:20:28
发表于 2007-5-14 08:57:53 |显示全部楼层
敘述得好模糊啊!

使用道具 举报

注册会员

初级会员

精华贴数
0
技术积分
4
社区积分
0
注册时间
2005-6-17
论坛徽章:
0
发表于 2007-5-14 09:39:53 |显示全部楼层
有一个办法就是使用子查询,但是,如果是1对多的关系的话可能有些数据不能显示!

使用道具 举报

版主

版主

精华贴数
2
技术积分
13009
社区积分
9872
注册时间
2005-4-7
论坛徽章:
24
现任管理团队成员
日期:2011-05-07 01:45:082012新春纪念徽章
日期:2012-01-04 11:50:44
发表于 2007-5-14 11:35:57 |显示全部楼层
用临时表也可以,

使用道具 举报

注册会员

一般会员

精华贴数
0
技术积分
118
社区积分
2
注册时间
2006-9-14
论坛徽章:
0
发表于 2007-5-15 08:58:36 |显示全部楼层
select distinct a.*,b.col1,b.col2
from 表1 a left join 表2 b on a.id=b.id,
不知道是不是这意思,因为楼主叙述的模糊

使用道具 举报

注册会员

初级会员

精华贴数
0
技术积分
14
社区积分
0
注册时间
2007-5-15
论坛徽章:
0
发表于 2007-5-15 10:47:46 |显示全部楼层
--有表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

是不是这个意思,楼主?

使用道具 举报

注册会员

初级会员

精华贴数
0
技术积分
14
社区积分
0
注册时间
2007-5-15
论坛徽章:
0
发表于 2007-5-15 10:48:43 |显示全部楼层
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

使用道具 举报

相关内容推荐
您需要登录后才可以回帖 登录 | 注册

TOP技术积分榜 社区积分榜 徽章 电子杂志 团队 统计 邮箱 虎吧 老博客 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档 | IT博客
CopyRight 1999-2011 itpub.net All Right Reserved. 北京皓辰网域网络信息技术有限公司版权所有 联系我们 网站律师 隐私政策 知识产权声明
京ICP证:060528号 北京市公安局海淀分局网监中心备案编号:1101082001 广播电视节目制作经营许可证:编号(京)字第1149号
  
回顶部