求一个sql语句

低代码开发平台 2014-06-27 06:21:09
有个表入库明细表tb
Date(入库日期),RefName(业务员),Mat(物料),Many(数量)字段数据如下
2014-6-1 ,小张 , 电视机,10
2014-6-2,小张,电视机,20
2014-6-3,小王,手机,5
2014-6-5,小李,手机,15
求一sql语句得到如下结果
最后入库日期 业务员 物料 数量
2014-6-2 小张 电视机 30
2014-6-3 小王 手机 5
2014-6-5,小李,手机,15
...全文
153 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
--小F-- 2014-06-27
  • 打赏
  • 举报
回复
select  RefName,Mat,Max(Date) as Date ,sum(Many) as Many from @galenkeny group by RefName,Mat
  • 打赏
  • 举报
回复
自己找到答案了,sql大牛们有没有优化的sql!
  • 打赏
  • 举报
回复

declare @galenkeny table(  Date datetime, RefName varchar(20),Mat varchar(20), Many int )
insert into @galenkeny

select '2014-6-1'  ,'小张'  , '电视机',10 union all
select '2014-6-2'  ,'小张'  , '电视机',20 union all
select '2014-6-3'  ,'小王'  , '手机',5 union ALL
select  '2014-6-3'  ,'小里'  , '手机',15 


select a.RefName,a.Mat,a.Many ,b.Date from
(select RefName, Mat,sum(Many) as Many from @galenkeny group by RefName,Mat)
a left join
(select RefName,Mat,Max(Date) as Date from @galenkeny group by RefName,Mat)
 b on a.Mat=b.Mat and a.RefName=b.RefName
  • 打赏
  • 举报
回复
select a.* ,b.Date from (select Mat,sum(Many) from tb group by Mat) a left join (select Mat,Max(Date) as Date from tb group by Mat) b on a.Mat=b.Mat

22,300

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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