This is my query:
SELECT ITM.CODE
, Price
, STL.DATE_ AS gun
FROM LG_094_ITEMS ITM WITH (NOLOCK)
INNER JOIN LG_094_01_STLINE STL ON ITM.LOGICALREF = STL.STOCKREF
WHERE Price > 0
AND TRCODE = 1
AND CANCELLED = 0
AND INVOICEREF > 0
AND STL.LINETYPE = 0
I couldn't figure our how to get the latest prices of the codes.
Thanks for your help.
You can use ROW_NUMBER()
here:
SELECT *
FROM (
SELECT ITM.CODE
, Price
, STL.DATE_ AS gun
, ROW_NUMBER() OVER (PARTITION BY ITM.CODE ORDER BY STL.DATE_ DESC) AS RN
FROM LG_094_ITEMS ITM WITH (NOLOCK)
INNER JOIN LG_094_01_STLINE STL ON ITM.LOGICALREF = STL.STOCKREF
WHERE Price > 0
AND TRCODE = 1
AND CANCELLED = 0
AND INVOICEREF > 0
AND STL.LINETYPE = 0
) prices
WHERE RN = 1
SELECT *
FROM (
SELECT ITM.CODE
, Price
, STL.DATE_ AS gun
, RowNum = ROW_NUMBER() OVER (PARTITION BY ITM.CODE ORDER BY STL.DATE_ DESC)
FROM LG_094_ITEMS ITM
INNER JOIN LG_094_01_STLINE STL ON ITM.LOGICALREF = STL.STOCKREF
WHERE Price > 0
AND TRCODE = 1
AND CANCELLED = 0
AND INVOICEREF > 0
AND STL.LINETYPE = 0
) t
WHERE t.RowNum = 1
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.