sql语句求助马上结贴

boat2002w 2003-10-31 03:04:18
表1的结构为
db1
细目编号 项目名称 年份 月份 工程量 工作量
从中查询所有细目的某一个年份月份的工程量和工作量以及在此年份和月份之前的工程量和工作量的和。

形式如:
细目编号 项目名称 年份 月份 工程量 工作量 完成工程量 完成工作量
谢谢!
...全文
38 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
LoveSQL 2003-10-31
  • 打赏
  • 举报
回复
declare @给定的年份 int,@给定的月份 int

select *
,(select sum(工程量)
from T
where (年份 < @给定的年份) or

(年份 = @给定的年份 and 月份 < @给定的月份)) as 完成工程量
,(select sum(工作量)
from T
where (年份 < @给定的年份) or

(年份 = @给定的年份 and 月份 < @给定的月份)) as 完成工作量
from T
where 年份 = @给定的年份 and 月份 = @给定的月份


给变量赋上你的值就可以了
sunshareforever 2003-10-31
  • 打赏
  • 举报
回复
select a.* ,b.完成工程量,c.完成工作量 from t_1

left join (select sum(工程量) as 完成工程量 from t_1) t_2
on t_1.细目编号 = t_2.细目编号 and t_1.年份=t_2.年份
and t_2.月份< t_1.月份

left join (select sum(工作量) as 完成工作量 from t_1) t_3
on t_1.细目编号 = t_2.细目编号 and t_1.年份=t_2.年份
and t_3.月份< t_1.月份
zjcxc 元老 2003-10-31
  • 打赏
  • 举报
回复
楼上的可以了.
playyuer 2003-10-31
  • 打赏
  • 举报
回复
select *
,(select sum(工程量)
from T
where 细目编号 = a.细目编号
and 项目名称 = a.项目名称
and 年份 = a.年份
and 月份 < a.月份
)
,(select sum(工作量)
from T
where 细目编号 = a.细目编号
and 项目名称 = a.项目名称
and 年份 = a.年份
and 月份 < a.月份
)
from T a

34,874

社区成员

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

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