Я считаю, что вы можете отфильтровать дубликаты, используя подзапрос, такой как SELECT DISTINCT ... FROM tb1
, оставив остальную часть запроса без изменений:
SELECT
tb0.DOC_NO,
CAST ( SUM ( tb2.QTY ) AS FLOAT ) AS QTY_TOTAL,
ROUND( CAST ( SUM ( tb2.QTY * tb2.PRICE ) AS FLOAT ), 2) AS PRICE_TOTAL,
tb0.DATE,
tb2.STATUS_A,
tb2.STATUS_B
FROM
(SELECT DISTINCT DOC_NO, CM, SKU, PRICE, QTY, DATE FROM tb1) AS tb0
INNER JOIN tb2 ON tb0.DOC_NO = tb2.DOC_NO
WHERE
tb2.STATUS_B = '0'
GROUP BY
tb0.DOC_NO,
tb0.DATE,
tb2.STATUS_A,
tb2.STATUS_B
ORDER BY
COH.DOC_NO_REQ_TO_ULI DESC
Примечание: в псевдонимах таблиц есть некоторые проблемы.запрос:
- столбцы
STATUS_A
или STATUS_B
должны иметь префикс tb2
, а не tb1
(я это исправил) - псевдоним
COH
, который используется впредложение ORDER BY
нигде в запросе не объявлено (это синтаксическая ошибка)