У меня есть запрос, который я использовал ранее в MS SQL и хотел бы использовать в Oracle.Однако он возвращает пропущенное выражение.
Мне нужны данные из той же таблицы, но с другим параметром, который нельзя объединить в одном запросе.
TABLE TTT
DATE LIC ITEM QTY SU
20-01-2019 L991234 P0042 20 S002201
20-01-2019 L991234 P0042 40 S002202
20-01-2019 L991234 P0042 60 S002203
20-01-2019 L991234 P0042 80 S002204
20-01-2019 L991234 P0042 100 S002205
21-01-2019 L991245 P0069 30 S003101
21-01-2019 L991245 P0069 60 S003102
21-01-2019 L991245 P0069 90 S003103
21-01-2019 L991245 P0069 120 S003104
22-01-2019 L991256 P0042 20 S004301
22-01-2019 L991256 P0042 40 S004302
22-01-2019 L991256 P0042 60 S004303
22-01-2019 L991256 P0042 80 S004304
23-01-2019 L991264 P0069 30 S007501
23-01-2019 L991264 P0069 60 S007502
23-01-2019 L991271 P0042 20 S008801
23-01-2019 L991271 P0042 40 S008802
Запрос:
SELECT TA.ITEM, TA.CNT, TB.CNT
FROM (
SELECT 1 typ, DISTINCT TTT.ITEM, TTT.NO, COUNT(DISTINCT TTT.LIC)
FROM TTT
WHERE TTT.TYPE = '6' AND TTT.ITEM = 'H01234'
GROUP BY TTT.ITEM,TTT.LIC
ORDER BY TTT.ITEM, TTT.NO
) TA
INNER JOIN
(
SELECT 2 typ, DISTINCT TTT.ITEM, COUNT(DISTINCT TTT.SU)
FROM TTT
WHERE TTT.TYPE = '6' AND TTT.ITEM = = 'H01234'
GROUP BY TTT.ITEM, TTT.SU
ORDER BY TTT.ITEM
) TB ON TA.ITEM = TB.ITEM
ORDER BY TA.ITEM
ОЖИДАЕМЫЙ РЕЗУЛЬТАТ
TA.ITEM TA.CNT TB.CNT
P0042 3 11
P0069 2 6