Foxtable(狐表)用户栏目专家坐堂 → [求助]如何获取最后一次采购信息


  共有3079人关注过本帖树形打印复制链接

主题:[求助]如何获取最后一次采购信息

帅哥哟,离线,有人找我吗?
2900819580
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1353 积分:9868 威望:0 精华:0 注册:2015/6/30 8:46:00
[求助]如何获取最后一次采购信息  发帖心情 Post By:2019/6/11 14:16:00 [只看该作者]

SEL ECT     a.FName AS 物料名称, a.FModel AS 规格型号, a.FNumber AS 物料代码, a.FItemID AS 物料ID, c.FFullNumber AS 供应商代码
FROM         AIS20181207194554.dbo.t_ICItemCore AS a LEFT OUTER JOIN ‘物料表
                      AIS20181207194554.dbo.POOrderEntry AS b ON a.FItemID = b.FItemID LEFT OUTER JOIN ’采购订单明细表
                      AIS20181207194554.dbo.POOrder AS d ON d.FInterID = b.FInterID LEFT OUTER JOIN  ‘采购订单总表
                      AIS20181207194554.dbo.t_Item AS c ON d.FSupplyID = c.FItemID '供应商信息表

 

以上代码获得的供应商代码并非是最后一次采购的,如何获得最后一次采购的供应商代码。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/6/11 15:15:00 [只看该作者]

1、要先分组获得每个分组最后一次采购信息,如

 

select 某列, max(日期) as 最后日期 from 某表 group by 某列 

 

2、然后得到全部信息,如

 

select * from (表1) as a inner join 某表 as b on a.某列=b.某列 and a.最后日期=b.日期


 回到顶部
帅哥哟,离线,有人找我吗?
2900819580
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1353 积分:9868 威望:0 精华:0 注册:2015/6/30 8:46:00
  发帖心情 Post By:2019/6/11 17:18:00 [只看该作者]

按你的思路

 

SE LECT     a.FItemID AS 物料ID, a.FNumber AS 物料代码, a.FName AS 物料名称, a.FModel AS 规格型号, c.FName AS 供应商, d.FDate AS 下单日期
FROM         AIS20181207194554.dbo.t_ICItemCore AS a LEFT OUTER JOIN
                      AIS20181207194554.dbo.POOrderEntry AS b ON a.FItemID = b.FItemID LEFT OUTER JOIN
                      AIS20181207194554.dbo.POOrder AS d ON d.FInterID = b.FInterID LEFT OUTER JOIN
                      AIS20181207194554.dbo.t_Item AS c ON d.FSupplyID = c.FItemID INNER JOIN
                          (SE LECT     X.FItemID AS 物料ID, MAX(Y.FDate) AS 下单日期
                            FROM          AIS20181207194554.dbo.POOrderEntry AS X LEFT OUTER JOIN
                                                   AIS20181207194554.dbo.POOrder AS Y ON X.FInterID = Y.FInterID
                            GROUP BY X.FItemID) AS v ON v.下单日期 = d.FDate AND v.物料ID = a.FItemID

 

但结果还不是我想要的,不知那里出问题了。

 


图片点击可在新窗口打开查看此主题相关图片如下:无标题.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2019/6/11 19:25:44编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111414 积分:567140 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/6/11 21:31:00 [只看该作者]

SEL ECT  top 1   a.FName AS 物料名称, a.FModel AS 规格型号, a.FNumber AS 物料代码, a.FItemID AS 物料ID, c.FFullNumber AS 供应商代码
FROM         AIS20181207194554.dbo.t_ICItemCore AS a LEFT OUTER JOIN ‘物料表
                      AIS20181207194554.dbo.POOrderEntry AS b ON a.FItemID = b.FItemID LEFT OUTER JOIN ’采购订单明细表
                      AIS20181207194554.dbo.POOrder AS d ON d.FInterID = b.FInterID LEFT OUTER JOIN  ‘采购订单总表
                      AIS20181207194554.dbo.t_Item AS c ON d.FSupplyID = c.FItemID
order by d.FDate desc

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/6/12 10:17:00 [只看该作者]

这句代码,才能得到最后一条数据

 

select * from (select 某列, max(日期) as 最后日期 from 某表 group by 某列 ) as a inner join 某表 as b on a.某列=b.某列 and a.最后日期=b.日期

 

请先尝试单独执行这句代码看看效果啊

 

得到这个表以后,也就是得到了每个分组的最后一条数据。接着,你和供应商表再连接,即可得到值啊


 回到顶部