У меня есть следующий запрос, который дает мне неправильную сумму. Это дублирует сумму Случаев, когда объединяются Таблица Runlog с Table Palletitem. Я пробовал несколько разных запросов, также пытался получить сумму в подзапросе, но я не могу избавиться от этого дубликата. мой текущий запрос настолько хорош, насколько мог бы получить. Спасибо за помощь
Ожидаемый результат
RunID Cases LotNumber
1749 416.00 B703, B705
Текущий результат с текущим кодом
RunID Cases LotNumber
1749 520.00 B703, B705
Текущий код
SELECT distinct RunLog.RunID,
Sum(RunLog.casecount) AS Cases,
stuff((SELECT DISTINCT ', ' + cast(lot.lotnumber AS varchar(20))
FROM PalletItem t2 inner JOIN
Lot ON Lot.ID = t2.Lotid
AND t2.RunID = RunLog.RunID
WHERE
t2.datepalletized>='2019-06-10 16:52:00'
and t2.datepalletized<='2019-06-10 20:00:00'
group by lot.lotnumber
FOR XML PATH('')), 1, 1, '') AS [LotNumber]
FROM RunLog
INNER JOIN Lot on Lot.runid=RunLog.runid
INNER JOIN PalletItem ON PalletItem.LotNumber = Lot.ID
AND palletitem.palletid=runlog.palletid
WHERE RunLog.ActionDate>='2019-06-10 16:52:00'
AND RunLog.ActionDate<='2019-06-10 19:02:00'
GROUP BY RunLog.RunID
ОБРАЗЕЦ ДАННЫХ НИЖЕ
Таблицы
PalletItem
--------------
PalletID Lotid DatePalletized RunID
2004109 14657 2019-06-10 16:53:00 1749
2004110 14657 2019-06-10 17:47:00 1749
2004110 14659 2019-06-10 17:47:00 1749
2004111 14659 2019-06-10 17:48:00 1749
2004112 14659 2019-06-10 19:01:00 1749
---------------
Runlog
---------------
RunID PalletID casecount ActionDate
1749 2004109 104.00 2019-06-10 16:52:52.000
1749 2004110 104.00 2019-06-10 17:46:58.000
1749 2004111 104.00 2019-06-10 17:47:36.000
1749 2004112 104.00 2019-06-10 19:00:38.000
-----------------
Lot
------
ID LotNumber runid
14657 B703 1749
14659 B705 1749
--------