复杂sql语法,高手请指点
能不能用一条语句实现一个表分组计算对另一个表的更新?比如
tbla(bmbh,bmmc,xse)
tblb(bmbh,xzbh,xzmc,xse)
用tblb的相应bmbh的xse汇总更新tbla的xse?
能实现吗?请高手指教!
目前实现的方法是:
select bmbh,sum(xse) xse into #temp from tblb group by bmbh
update tbla set xse=b.xse from #temp b where tbla.bmbh=b.bmbh
问题点数:50、回复次数:5Top
1 楼zbxubing(冰)回复于 2006-03-01 15:48:56 得分 10
bmbh的xse汇总(select bmbh,sum(xse) xse from tblb group by bmbh)可以把它看作一个表,在update中做连接到另外一个Top
2 楼mschen(Co-ok)回复于 2006-03-01 15:51:06 得分 20
--这样就可以了-----------------------------
update a
set xse=b.xse
from tbla a join (select bmbh,sum(xse) xse
from tblb
group by bmbh) b
on a.bmbh=b.bmbhTop
3 楼lsqkeke(可可)回复于 2006-03-01 15:51:49 得分 20
update tbla set xse=b.xse
from tbla a,(select bmbh, xse=sum(xse) from tblb group by bmbh) b
where a.bmbh=b.bmbhTop
4 楼czdpilgrim(阿德)回复于 2006-03-01 16:08:15 得分 0
请问楼上两位,该语句支持sybase数据库吗?Top
5 楼czdpilgrim(阿德)回复于 2006-03-01 16:14:54 得分 0
我在sybase库中不能执行,请问可以有办法实现吗?
出错:
Server Message: Number 156, Severity 15
Server 'sybpszx', Line 2:
Incorrect syntax near the keyword 'select'.
Server Message: Number 102, Severity 15
Server 'sybpszx', Line 2:
Incorrect syntax near ')'.Top




