Я пытаюсь получить информацию с даты последней транзакции по серийному номеру продукта, независимо от последнего местоположения. Операции по продажам, производству и инвентаризации находятся в разных таблицах.
Я думаю, что достаточно сузил свои столбцы с помощью вложенных операторов CASE, но теперь мне нужно вернуть самую последнюю строку с уникальным значением «Серийный номер».
[IV00101].[ITEMDESC] AS 'Item Description',
[IV00200].[SERLNMBR] AS 'Serial Number',
[IV00200].[LOCNCODE] AS 'Location Code',
CASE ISNULL(COALESCE([SOP30200].[CUSTNAME],[SOP10100].[CUSTNAME]),'')
WHEN '' THEN CASE ISNULL([BM30400].[DATERECD],'')
WHEN '' THEN CASE
WHEN [IV30400].[IVDOCTYP] = 1 THEN 'Adjustment'
WHEN [IV30400].[IVDOCTYP] = 2 THEN 'Variance'
WHEN [IV30400].[IVDOCTYP] = 3 THEN 'Transfer'
ELSE 'Other'
END
ELSE 'Assembly'
END
ELSE CASE
WHEN [SOP30200].[SOPNUMBE] LIKE 'RTN%' THEN 'Return'
ELSE 'Sale'
END
END AS 'Transaction Type',
COALESCE([SOP30200].[DOCDATE], [BM30400].[DATERECD],[IV30200].[DOCDATE]) AS 'Last Transaction Date',
[SOP10201].[SOPNUMBE] AS 'Document Number',
COALESCE([SOP30200].[CUSTNAME],[SOP10100].[CUSTNAME]) AS 'Bill To' ,
[SOP10106].[USERDEF2] AS 'End Client' from [IV00200]
inner join [IV00101] on [IV00200].[ITEMNMBR] = [IV00101].[ITEMNMBR]
left join [IV30400] on [IV00200].[SERLNMBR] = [IV30400].[SERLTNUM]
left join [SOP10201] on [IV00200].[SERLNMBR] = [SOP10201].[SERLTNUM]
left join [SOP30200] on [SOP10201].[SOPNUMBE] = [SOP30200].[SOPNUMBE]
left join [IV30200] on [IV30400].[DOCNUMBR] = [IV30200].[DOCNUMBR]
left join [BM30400] on [IV00200].[SERLNMBR] = [BM30400].[SERLTNUM]
left join [SOP10106] on [SOP10201].[SOPNUMBE] = [SOP10106].[SOPNUMBE]
left join [SOP10100] on [SOP10201].[SOPNUMBE] = [SOP10100].[SOPNUMBE]
Из-за всех моих левых соединений вот что я получаю:
Item A Product Info 123456789 SITEID1 Adjustment 10/31/2018 120696 Customer A
Item A Product Info 123456789 SITEID2 Transfer 11/20/2018 120696 Customer A
Item A Product Info 123456789 SITEID2 Sale 3/25/2019 120696 Customer A
Как мне сгруппировать строки, чтобы я только возвращал это?
Item A Product Info 123456789 SITEID2 Sale 3/25/2019 120696 Customer A