+ -
当前位置:首页 → 问答吧 → 2个表组合更新问题.求救啊

2个表组合更新问题.求救啊

时间:2011-12-21

来源:互联网

select "ScopeNO",count("ScopeNO") num from "Store" s inner join "InputLog" l on s.no = l."LogObjectNO" where l."InputTime" > date'2011-12-13' and l."LogObjectType"='Unit'group by "ScopeNO"

上面的语句得出table1这个表

table1  
ScopeNO num 
1 20
2 5
3 30
4 10
5 20

table2
ScopeNO num
1 100
2 100
3 100
4 100
5 100

现在是这样的 table1 和table2的 ScopeNO是有inner join 关系的

现在要的结果是更新table2的num的数据 table2的num 减去 table1的num 如何实现?

作者: gdmvip   发布时间: 2011-12-21

请参考:
SQL code

UPDATE table2 T2 SET NUM = NUM - T1.num
WHERE T2.ScopeNO = (SELECT ScopeNO FROM 
                    (select "ScopeNO",count("ScopeNO") num 
                     from "Store" s inner join "InputLog" l 
                      on s.no = l."LogObjectNO" 
                      where l."InputTime" > date'2011-12-13' 
                      and l."LogObjectType"='Unit'
                      group by "ScopeNO") T1; 

作者: LuiseRADL   发布时间: 2011-12-21

SQL code
-- 方法一
UPDATE TABLE2 SET NUM = NUM - (SELECT NUM FROM TABLE1 WHERE TABLE1.SCOPENO = TABLE2.SCOPENO );

-- 方法二
UPDATE (SELECT T2.SCOPENO,T2.NUM,T2.NUM - T1.NUM NUMNEW FROM TABLE2 T2,TABLE1 T1 WHERE T2.SCOPENO = T1.SCOPENO)
SET T2.NUM = NUMNEW;

作者: xiaobn_cn   发布时间: 2011-12-21

热门下载

更多