求一SQL(不同行列相减)
表t_a中数据:
zh zhlb xh fkcode jdflag je
-------------------- ---- ----------- ---------- ------ ---------
1002 F 1 RMB 1 400.0000
1002 F 2 ## 0 200.0000
1003 F 1 RMB 1 200.0000
1003 F 2 MD 1 200.0000
1003 F 3 MD 1 200.0000
1003 F 4 ## 0 200.0000
1003 F 5 ## 0 200.0000
1003 F 6 ## 0 120.0000
1004 F 1 RMB 1 250.0000
1004 F 2 AC 1 250.0000
1004 F 3 MD 1 200.0000
1004 F 4 ## 0 100.0000
1004 F 5 ## 0 50.0000
根据要求得出如下数据:
zh zhlb fkcode je
-------------------- ---- ---------- ---------
1002 F RMB 200.0000
1003 F RMB 80.0000
1004 F AC 250.0000
1004 F MD 50.0000
1004 F RMB 250.0000
要求:
1. zh,zhlb相同的数据中,把jdflag为1的数据的je减jdflag为0的je
2. fkcode中MD的先减,RMB的后减
表t_a:
if exists( SELECT * FROM sysobjects WHERE xtype = 'u' and name = 't_a' )
drop table t_a
create table t_a (zh decimal,zhlb char(1),xh integer,fkcode char(10), jdflag char(1), je money default 0)
insert t_a
select 1002 ,'F',1,'RMB','1',400.0000 union all
select 1002 ,'F',2,'##','0', 200.0000 union all
select 1003 ,'F',1,'RMB','1',200.0000 union all
select 1003 ,'F',2,'MD','1', 200.0000 union all
select 1003 ,'F',3,'MD','1', 200.0000 union all
select 1003 ,'F',4,'##','0', 200.0000 union all
select 1003 ,'F',5,'##','0', 200.0000 union all
select 1003 ,'F',6,'##','0', 120.0000 union all
select 1004 ,'F',1,'RMB','1',250.0000 union all
select 1004 ,'F',2,'AC','1', 250.0000 union all
select 1004 ,'F',3,'MD','1', 200.0000 union all
select 1004 ,'F',4,'##','0', 100.0000 union all
select 1004 ,'F',5,'##','0', 50.0000