如何取得每个客户最后一次的销售某种物料的记录。

dglife81 2011-01-14 11:54:34
主表:
单号,客户编码,日期
从表:
单号,批号,物料编码

如何实现?
...全文
122 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Shawn 2011-01-14
  • 打赏
  • 举报
回复
SELECT * FROM
(
SELECT number = ROW_NUMBER() OVER(PARTITION BY b.客户编码 ORDER BY a.日期 DESC),
a.单号, a.客户编码, a.日期, b.批号, b.物料编码 FROM
主表 a INNER JOIN 从表 b ON a.单号 = b.单号
) c
WHERE c.number = 1
Shawn 2011-01-14
  • 打赏
  • 举报
回复
SELECT * FROM
(
SELECT number = ROW_NUMBER() OVER(PARTITION BY b.物料编码 ORDER BY a.日期 DESC),
a.单号, a.客户编码, a.日期, b.批号, b.物料编码 FROM
主表 a INNER JOIN 从表 b ON a.单号 = b.单号
) c
WHERE c.number = 1
yyfhz 2011-01-14
  • 打赏
  • 举报
回复

Select
a.[客户编码],a.[日期],a.单号,b.批号,b.物料编码
From
[主表] a
inner Join [从表] b on b.[单号]=a.[单号]
Inner Join
(
Select t1.[客户编码], max(t1.[日期]) as [日期]
From [主表] t1
inner Join [从表] t2 on t2.[单号]=t1.[单号]
Where
t2.[物料编码]='要查的物料编码'
group by t1.[客户编码]
) c on c.[日期]=a.[日期] and c.[客户编码]=a.[客户编码]
Where
b.[物料编码]='要查的物料编码'
叶子 2011-01-14
  • 打赏
  • 举报
回复

SELECT 客户编码,MAX(日期) AS 最后一次的时间 FROM (
SELECT * FROM 主表 a LEFT JOIN 从表 b
ON a.单号=b.单号
) GROUP BY 客户编码

34,588

社区成员

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

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