我正在尝试创建一个查询,其中我从项目编号和客户开始,我必须确定最后的售价。
所涉及的表格是
SOP30200 =销售标题 SOP30300 =销售明细行
给出以下代码和结果:
CODE:
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分组,我们已经以两种不同的价格将此商品出售给该客户。但是,我知道,我希望看到这四个字段,但只有一个记录具有最新日期。
帮助!!
谢谢:)
答案 0 :(得分:0)
添加order by MAX(SOP30200.DOCDATE) DESC
并将Select
更改为Select Top 1
。