如何写这样sql语句:表A两个字段a与b相减,并将值赋给表B的字段a?其中A.a字段为多行
请问asp如何写这样sql语句,表A两个字段a与b相减,并将值赋给表B的字段a?其中A中的a字段为多行,A与B中c字段相同,但c在A中为多行
看看这样错在哪里?
sql="update B set B.a=(select A.a-A.b from A where A.c=B.c group by A.c)"多多感谢!
问题补充:
该程序功能是提取文件自动计费
用户注册信息在表A,提交索取信息在表B,相同字段为username
现在想实现自动计费,在表B中添加cost(费用)字段提交
提交后在B中money(余额)字段减去cost(费用)字段然后将值传到表A中更新A.money(余额)字段
在A中用户注册信息为不同行,在B中username可以提交多个请求,为多行
该如何实现,请帮帮忙?
我的qq是30395069
多谢帮助
问题点数:50、回复次数:5Top
1 楼LouisXIV(夜游神)回复于 2006-07-03 10:37:03 得分 0
update B
set B.a=A.a-A.b
from A inner join B on A.c=B.cTop
2 楼LiBin_OberthurCS(欧贝特)回复于 2006-07-03 10:37:32 得分 0
update t1
set
a=t2.d
from
B t1,(select sum(a-b) as d from A group by c) t2
where
t1.c=t2.cTop
3 楼LiBin_OberthurCS(欧贝特)回复于 2006-07-03 10:38:11 得分 0
修改一下:
-------------------------------------------------------------------------------------
update t1
set
a=t2.d
from
B t1,(select c,sum(a-b) as d from A group by c) t2
where
t1.c=t2.cTop
4 楼dutguoyi(新鲜鱼排)回复于 2006-07-03 10:40:09 得分 0
create table A(a int,b int,c int)
insert A select 5,1,11
union all select 6,3,11
create table B(a int,b int,c int)
insert B select 1,0,11
select * from B
--如果A中c为多行,但是值相同的话,则可以使用top 1
update B set B.a=(select top 1 A.a-A.b from A where A.c=B.c )
select * from B
/*
a b c
----------- ----------- -----------
1 0 11
a b c
----------- ----------- -----------
4 0 11
*/
drop table A
drop table B
Top
5 楼pire237wl()回复于 2006-07-03 10:52:07 得分 0
非常感谢!
不过在asp中能不能帮我写一条具体的语句,其中有字段是页面提交上的Top




