2个表,比较的问题

1917584 2005-12-01 12:11:38

现在有2个表“汽车档案”和“派工统计表”。“汽车档案”里有序号、档案编号、汽车资料、派工次数、累积费用等字段。“派工统计表”里有派工时间、档案编号、派工情况、派工费用等字段。

现在求SQL语句实现以下功能:

1,根据档案编号判断,在“汽车档案”里的车在某一时间段(派工时间>2004-1-1)派工多少次,将结果返回到“汽车档案”里派工次数的字段里。并且算出在这一时间段累积派工费用,将结果返回到“汽车档案”里累积费用的字段里。


可以分几个SQL语句写,只要能实现功能就可以,谢谢!
...全文
92 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
OracleRoob 2005-12-01
  • 打赏
  • 举报
回复
1、如果不需要更新到汽车档案表中,直接查询:

select A.序号, A.档案编号, A.汽车资料, B.派工次数, B.派工费用 as 累积费用
from 汽车档案 A
left join
(select 档案编号, Count(*) as 派工次数, SUm(派工费用) AS 派工费用
from 派工统计表
where 派工时间>'2004-1-1'
group by 档案编号) B
ON A.档案编号 = B.档案编号

2、如果需要更新到汽车档案表:

update 汽车档案 set 派工次数 =B.派工次数, 累积费用=B.派工费用
from 汽车档案 A
inner join
(select 档案编号, Count(*) as 派工次数, SUm(派工费用) AS 派工费用
from 派工统计表
where 派工时间>'2004-1-1'
group by 档案编号) B ON A.档案编号 = B.档案编号

select * from 汽车档案

34,590

社区成员

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

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