【发布时间】:2022-01-03 08:39:08
【问题描述】:
我有一个查询,我想列出每个库存商品的购买价格的所有最新交易日期。
我使用聚合 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 也可以。
如果我能从这里得到一些建议,将不胜感激。
【问题讨论】:
-
你用的是什么数据库?