我有一个查询,我想列出每个库存商品购买价格的所有最新交易日期。
我使用聚合 MAX() 列出每件商品的所有最新交易,但不包括价格,而且效果很好。但是当我把价格包括在内时,结果是每个项目都有多个日期和不同的价格。
所以我尝试使用子查询,但它导致了错误。
以下是我使用示例项目作为测试的查询
select
a.a7itno as "Item No", a.a7appr as "Unit Price",
b.maxtrdate as "Trans Date"
from m3edbprod.fcaavp a
Left Join
( select a7itno,max(a7trdt)as "maxtrdate"
from m3edbprod.fcaavp
group by a7itno) b
on a.a7itno=b.a7itno and a.a7trdt=b.maxtrdate
where a.a7itno='110ABC452'
运行时出现错误:
错误:SQL0205 - 列 MAXTRDATE 不在 *N 的表 B 中。(状态:S0022,本机代码:FFFFFF33)
预期结果应输出具有单一价格和最新转换日期的每个项目,如下表所示:
Item No Unit Price Trans Date
-----------------------------
110ABC452 100.00 20210920
注意:日期为 YYYYMMDD,如果我可以将其设置为日期格式,如 20/09/2021 或 20-09-2021 也可以。
如果我能从这里得到一些建议,将不胜感激。