首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SQL联接查询解决办法

2012-02-24 
SQL联接查询待操作表结构A表:peopleidname01张三02赵四B表:countidcountfield1countfield20115-1021000110

SQL联接查询
待操作表结构
A表:people
id     name
01     张三
02     赵四
B表:   count
id   countfield1   countfield2
01     15                             -1
02     10                             0
01     1                               0
01     2                               0
02     5          0
得到一个表以统计同名字的countfield1及countfield2字段值的总和,即如下所示
name   countfield
张三     17
赵四     15
如何写SQL查询语句得到或如何写存储过程以供调用?

我写了如下视图:vCount
select   A.Name,B.CountField1,B.countField2  
from   people   A   inner   join   Count   B   on
A.ID=B.ID

然后用如下语句调用的时候出错:
Select   Name,sum(CountField1+CountField2)   from   vCount
为什么出错,如何解决?



[解决办法]
Select Name,sum(CountField1+CountField2) from vCount group by Name
[解决办法]
create table A(id varchar(10), name varchar(10))
insert into A values( '01 ', '张三 ')
insert into A values( '02 ', '赵四 ')
create table B(id varchar(10), countfield1 int, countfield2 int)
insert into B values( '01 ', 15,-1)
insert into B values( '02 ', 10,0)
insert into B values( '01 ', 1 ,0)
insert into B values( '01 ', 2 ,0)
insert into B values( '02 ', 5 ,0)

select A.name , sum(B.countfield1 + B.countfield2) countfield
from A,B
where A.id = b.id
group by name

drop table A,B

/*
name countfield
---------- -----------
张三 17
赵四 15

(所影响的行数为 2 行)
*/
[解决办法]
create procedure GetAll
as
begion
Select
Name,
sum(CountField1+CountField2)
from vCount g
roup by Name
end

热点排行
Bad Request.