以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  怎么统计下表中不重复原料最后一次的交期单价?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=15907)

--  作者:shacool
--  发布时间:2012/1/17 10:17:00
--  怎么统计下表中不重复原料最后一次的交期单价?

怎么统计下表中不重复原料最后一次的交期单价?

 

例如:原料代号 "A=B-000002"有11笔资料,而最后日期是 交货日期 是 "201009/13" 而这时候的交期单价是:0.2365 就取出当行作为 统计表内容。


图片点击可在新窗口打开查看此主题相关图片如下:111.jpg
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:caiguo.zip

[此贴子已经被作者于2012-1-17 10:21:29编辑过]

--  作者:狐狸爸爸
--  发布时间:2012/1/17 10:49:00
--  

大概如此:

 

select * from {採購明細資料} a inner join (Select 原料代號,Max(交貨日期) As 交貨日期 Group By 原料代號 From {採購明細資料}) b on a.原料代號 = b.原料代號 And a.交貨日期 = b.交貨日期

 

提示你各列的数据类型似乎不对,至少交货日期应该是日期型吧,怎么是字符型呢,只有数据类型正确,代码才能正确执行。


--  作者:shacool
--  发布时间:2012/1/17 14:34:00
--  

谢谢!不过你这个要修改下

SELECT         *
FROM             采购明细资料 a INNER JOIN
                              (SELECT         原料代号, MAX(交货日期) AS 交货日期
                                FROM              采购明细资料
                                GROUP BY   原料代号) b ON a.原料代号 = b.原料代号 AND
                          a.交货日期 = b.交货日期

 

 

这样就OK!