| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3573 人关注过本帖
标题:怎样实现多表使用COUNT()函数???
只看楼主 加入收藏
lingchen
Rank: 1
等 级:禁止访问
帖 子:50
专家分:0
注 册:2006-5-7
结帖率:100%
收藏
 问题点数:0 回复次数:4 
怎样实现多表使用COUNT()函数???
比如说,我有两张存放相同数据信息的表:A

编号        姓名    数量
9011    胡家斌    5
9024    吴桂敏    241
9025    梁伟杰    348
9026    刘丽芬    318

B:
编号       姓名      数量
9017    郑文亮    79
9020    李志成    160
9024    吴桂敏    270
9025    梁伟杰    111
9026    刘丽芬    275
9027    钟键兴    348
9028    李春映    293
9038    刘潘川    330
9039    陈杰武    184
我要将这两张表做一个汇总的统计出那个人那个编号,总的数据量是多少,,,,要显示这两张表的所有人和总的数量比如说
C:
编号     姓名        数量
9026    刘丽芬      593


请问这样的SQL语句怎样写可以实现呢?请教各位高手!
搜索更多相关主题的帖子: COUNT 刘丽芬 函数 SQL 数量 
2008-01-07 20:34
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 
create table ta(编号 int,姓名 nvarchar(10),数量 int)
insert into ta select 9011,    '胡家斌'  ,  5
insert into ta select 9024 ,   '吴桂敏'  ,  241
insert into ta select 9025  ,  '梁伟杰' ,   348
insert into ta select 9026   , '刘丽芬',    318

create table tb(编号 int,姓名 nvarchar(10),数量 int)
insert into tb select 9017,    '郑文亮',    79
insert into tb select 9020 ,   '李志成',    160
insert into tb select 9024  ,  '吴桂敏',    270
insert into tb select 9025   , '梁伟杰',    111
insert into tb select 9026    ,'刘丽芬',    275
insert into tb select 9027    ,'钟键兴',    348
insert into tb select 9028    ,'李春映',    293
insert into tb select 9038    ,'刘潘川',    330
insert into tb select 9039    ,'陈杰武',    184

select 编号,姓名,sum(数量) 数量
from
(
    select 编号,姓名,数量 from ta
    union all
    select 编号,姓名,数量 from tb
) a
group by 编号,姓名
order by 编号

drop table ta,tb

/*
编号          姓名         数量         
----------- ---------- -----------
9011        胡家斌        5
9017        郑文亮        79
9020        李志成        160
9024        吴桂敏        511
9025        梁伟杰        459
9026        刘丽芬        593
9027        钟键兴        348
9028        李春映        293
9038        刘潘川        330
9039        陈杰武        184

(所影响的行数为 10 行)
*/

我的msn: myfend@
2008-01-07 21:57
provoke
Rank: 2
来 自:广州
等 级:新手上路
威 望:5
帖 子:175
专家分:0
注 册:2007-6-14
收藏
得分:0 

select A.编号,A.姓名,数量=count(A.数量)+count(B.数量)
from A,B
where A.编号=B.编号

建立临时表就同有必要了

爱我至爱,至死不渝!
2008-01-07 23:00
lingchen
Rank: 1
等 级:禁止访问
帖 子:50
专家分:0
注 册:2006-5-7
收藏
得分:0 
好的!谢谢两位了!!!
2008-01-08 14:43
jznhljg
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-3-4
收藏
得分:0 
我很想问下purana版主....你的那个CREATE 和INSERT 语句全是自己手打一遍进去..??我在论坛上看到很多小题目.都是嫌麻烦,没建表测试想法...所以十分想知道你是怎么做的?有别的快捷办法??
2008-07-24 01:26
快速回复:怎样实现多表使用COUNT()函数???
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016380 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved