求一句sql语句!急(再线等)!

milerzhang 2003-10-30 09:47:24
我要用一句SQL语句,算出四个总和值:sum(jfje),sum(dfje),sum(bjfje),sum(bdfje)!这条SQL语句要用到两个表,TB_CW和SYSCWKM,其中TB_CW的KMDM要等于SYSCWKM的KMDM,并且sum(jfje)和sum(dfje)是在日期2003.7.15之前的,sum(bjfje)和sum(bdfje)是在日期2003.10.15之前的!sum(jfje),sum(dfje),sum(bjfje),sum(bdfje)所需要计算的数据都在表TB_CW里,日期也在表TB_CW里!
各位大人帮帮忙!小弟在此谢谢了!
...全文
34 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
milerzhang 2003-10-31
  • 打赏
  • 举报
回复
我是用commandtext来传SQL语句的!可有限定长度!各位大侠知道要怎么设置才可以增加长度吗?
lvltt 2003-10-30
  • 打赏
  • 举报
回复
select sum( case when 日期< '2003-7-15' then jfje else 0 end) as jfje,
sum( case when 日期< '2003-7-15' then dfje else 0 end) as dfje,
sum( case when 日期< '2003-10-15' then bjfje else 0 end) as bjfje,
sum( case when 日期< '2003-10-15' then bdfje else 0 end) as bdfje
from tb_cw
join syscwkm on tb_cw.kmdm=syscwkm.kmdm
zjcxc 元老 2003-10-30
  • 打赏
  • 举报
回复
第二种方法应该效率高一些.
zjcxc 元老 2003-10-30
  • 打赏
  • 举报
回复
--或者:
select jfje,dfje,bjfje,bdfje
from(
select id=1,jfje=sum(a.jfje),dfje=sum(a.dfje)
from TB_CW a inner join SYSCWKM b on a.KMDM=b.KMDM
where a.日期<'2003-07-15
) a join (
select id=1,bjfje=sum(a.bjfje),bdfje=sum(a.bdfje)
from TB_CW a inner join SYSCWKM b on a.KMDM=b.KMDM
where a.日期<'2003-10-15
) b on a.id=b.id
flymoods 2003-10-30
  • 打赏
  • 举报
回复
select sum( case when 日期< '2003-7-15' then jfje else 0 end) as jfje,
sum( case when 日期< '2003-7-15' then dfje else 0 end) as dfje,
sum( case when 日期< '2003-10-15' then bjfje else 0 end) as bjfje,
sum( case when 日期< '2003-10-15' then bdfje else 0 end) as bdfje
from tb_cw
inner join syscwkm on tb_cw.kmdm=syscwkm.kmdm
zjcxc 元老 2003-10-30
  • 打赏
  • 举报
回复
select sum(case when a.日期<'2003-07-15' then a.jfje end)
,sum(case when a.日期<'2003-07-15' then a.dfje end)
,sum(case when a.日期<'2003-10-15' then a.bjfje end)
,sum(case when a.日期<'2003-10-15' then a.bdfje end)
from TB_CW a inner join SYSCWKM b on a.KMDM=b.KMDM

txlicenhe 2003-10-30
  • 打赏
  • 举报
回复
select sum( case when 日期< '2003-7-15' then jfje else 0 end) as jfje,
sum( case when 日期< '2003-7-15' then dfje else 0 end) as dfje,
sum( case when 日期< '2003-10-15' then bjfje else 0 end) as bjfje,
sum( case when 日期< '2003-10-15' then bdfje else 0 end) as bdfje
from tb_cw
join syscwkm on tb_cw.kmdm=syscwkm.kmdm
银狐被占用 2003-10-30
  • 打赏
  • 举报
回复
select jfje=sum(select jfje from tb_cw where 日期>'2003-7-15'),
dfje=sum(select dfje from tb_cw where 日期>'2003-7-15'),
bjfje=sum(select bjfje from tb_cw where 日期>'2003-10-15'),
bdfje=sum(select bdfje from tb_cw where 日期>'2003-10-15')
from tb_cw
join syscwkm on tb_cw.kmdm=syscwkm.kmdm

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧