Хорошо, так что в основном мой DISTINCT
становится бесполезным из-за использования ROW_NUMBER ()
, мне нужно избежать этого, поскольку это приводит к дублированию результатов (кроме уникального числа, конечно!)
Итак, я ищу запрос это будет работать так же, но не будет иметь повторяющихся строк, потому что num уникально:
WITH t AS
(
SELECT DISTINCT *, ROW_NUMBER() OVER (ORDER BY Date) AS num
FROM Original_Import
LEFT JOIN eqcas.dbo.BASE_PROXY_VIEW_WITHTARGET ON ADName = Targetuser
WHERE (BaseProxy = 'agmc' OR ADName = 'agmc')
AND (Commited IS NULL OR Commited = 0)
)
SELECT DISTINCT ID, num, ADName, Description_User, Description_Amex, Amount, Date
FROM t
WHERE (t.BaseProxy = 'agmc' OR t.ADName = 'agmc')
AND num BETWEEN 0 AND 20
AND (Commited IS NULL OR Commited = 0)
ORDER BY Date
Это, вероятно, довольно тривиально исправить, но, поскольку я не специалист по SQL Server, я не привык к этим внутренним запросам и т. д.
Обновление: да, num используется для пейджинга.