我正在尝试创建一个查询,在该查询中,我从商品编号和客户开始,我必须确定最后的销售价格。
涉及的表有
SOP30200 =销售题头SOP30300 =销售明细行
给定以下代码和结果:
代码:
SELECT
SOP30200.CUSTNMBR,
MAX(SOP30200.DOCDATE),
SOP30300.ITEMNMBR,
SOP30300.UNITPRCE
FROM
SOP30200
INNER JOIN
SOP30300 ON
SOP30300.SOPNUMBE = SOP30200.SOPNUMBE AND
SOP30300.SOPTYPE = SOP30200.SOPTYPE
WHERE
SOP30200.SOPTYPE = 3 AND
SOP30200.CUSTNMBR = 'FAKECUST' AND
SOP30300.ITEMNMBR = 'FAKEITEM'
GROUP BY
SOP30200.CUSTNMBR,
SOP30300.ITEMNMBR,
SOP30300.UNITPRCE结果:
CUSTNMBR (No column name) ITEMNMBR UNITPRCE
FAKECUST 2013-07-12 00:00:00.000 FAKEITEM 16.80000
FAKECUST 2014-02-14 00:00:00.000 FAKEITEM 17.14000我得到了2条记录,因为查询是按UNITPRCE分组的,我们已经以两种不同的价格将此商品卖给了这个客户。但是,我只想看到这四个字段,但只希望看到一条具有最新日期的记录。
发布于 2014-08-01 02:28:28
添加一个order by MAX(SOP30200.DOCDATE) DESC和改变Select至Select Top 1.。
https://stackoverflow.com/questions/25066249
复制相似问题