select sum(case when PJZT when 1 then DKKBM when 2 then -DKKBM end), sum(case when PJZT when 1 then TXJE when 2 then -TXJE end) from pjtx_query ?
create table pjtx_query(DKKBM int,TXJE int,PJZT int) insert pjtx_query select 1,1,1 union all select 2,2,1 union select 3,3,1 union select 1,1,2 select sum(case PJZT when 1 then DKKBM when 2 then -DKKBM end), sum(case PJZT when 1 then TXJE when 2 then -TXJE end) from pjtx_query drop table pjtx_query上面的多了个when
这里还牵扯到数据类型转换: select DKKBM,SUM(CAST(TXJE AS DECIMAL(12,2))) AS VAL1 FROM pjtx_query WHERE (PJZT = 1) GROUP BY DKKBM我是这么写的,但还是不对,你帮修改一下。谢谢!
select dkkbm,val1-(select txje from pjtx_query where PJZT = 2) from (select DKKBM,SUM(CAST(TXJE AS DECIMAL(12,2)))AS VAL1 FROM pjtx_query WHERE (PJZT = 1) GROUP BY DKKBM )a?
我不是说这个意思你这个select DKKBM,SUM(CAST(TXJE AS DECIMAL(12,2)))AS VAL1 FROM pjtx_query WHERE (PJZT = 1) GROUP BY DKKBM只是没有满足减去PJZT = 2的?
select dkkbm,val1-(select txje from pjtx_query where PJZT = 2) from (select DKKBM,SUM(CAST(TXJE AS DECIMAL(12,2)))AS VAL1 FROM pjtx_query WHERE (PJZT = 1) GROUP BY DKKBM )a 这样?
when 2 then -DKKBM end),
sum(case when PJZT when 1 then TXJE
when 2 then -TXJE end)
from pjtx_query
?
insert pjtx_query
select 1,1,1 union all
select 2,2,1 union
select 3,3,1 union
select 1,1,2
select sum(case PJZT when 1 then DKKBM
when 2 then -DKKBM end),
sum(case PJZT when 1 then TXJE
when 2 then -TXJE end)
from pjtx_query
drop table pjtx_query上面的多了个when
上面:DKKBM改字段只是用来显示在查询结果中
TXJE 时真正要统计的,统计条件根据PJZT来判断(状态为1,2)
select DKKBM,SUM(CAST(TXJE AS DECIMAL(12,2))) AS VAL1
FROM pjtx_query
WHERE (PJZT = 1)
GROUP BY DKKBM我是这么写的,但还是不对,你帮修改一下。谢谢!
select dkkbm,val1-(select txje from pjtx_query
where PJZT = 2) from (select DKKBM,SUM(CAST(TXJE AS DECIMAL(12,2)))AS VAL1
FROM pjtx_query
WHERE (PJZT = 1)
GROUP BY DKKBM
)a?
PJZT 评级状态 varchar
也就是这两个关键的字段,其他几十个字段就暂时没有用到。
FROM pjtx_query
WHERE (PJZT = 1)
GROUP BY DKKBM只是没有满足减去PJZT = 2的?
where PJZT = 2) from (select DKKBM,SUM(CAST(TXJE AS DECIMAL(12,2)))AS VAL1
FROM pjtx_query
WHERE (PJZT = 1)
GROUP BY DKKBM
)a
这样?