я вернулся с моим исходным запросом, и у меня есть только один вопрос, пожалуйста (ps: я знаю, что должен проголосовать и зарегистрируйтесь, и я обещаю, что сделаю это сегодня)
Со следующим запросом (t-sql) Я получаю правильные результаты, за исключением того, что сейчас есть дубликаты.
Я читал и думаю, что могу использовать синтаксис PARTITION BY - не могли бы вы показать мне, как включить синтаксис PARTITION BY?
WITH CALC1 AS (SELECT OTQUOT, OTIT01 AS ITEMS, ROUND(OQCQ01 * OVRC01,2) AS COST
FROM
@LIB@.RTQOTA
WHERE OTIT01 <> ''
UNION ALL
...
SELECT OTQUOT, OTIT10 AS ITEMS, ROUND(OQCQ10 * OVRC10,2) AS COST
FROM
@LIB@.RTQOTA
WHERE OTIT10 <> ''
)
SELECT OTQUOT, DESC, ITEMS, RN
FROM (
SELECT OTQUOT, ITEMS, B.IXRPGP AS GROUP, C.OTRDSC AS DESC, COST, ROW_NUMBER() OVER
(PARTITION BY OTQUOT ORDER BY COST DESC) AS RN
FROM CALC1 AS A INNER JOIN @LIB@.ITMCON AS B ON (A.ITEMS = B.IKITMC) INNER JOIN
DATAGRP.GDSGRP AS C ON (B.IXRPGP = C.OKRPGP)
) T
РЕЗУЛЬТАТЫ:
60408169 Фехтование GNCPDCTP18BGBG 1
60408169 Фехтование CGIFESHPD1795BG 2
60408169 * ФЕНСИРОВАНИЕ GTTCG6169169Фехтование GBTCGIBG 4
Как мне избавиться от дубликатов?спасибо Биллу и всем остальным за вашу помощь (я все еще учусь!)