У меня следующий запрос:
SELECT * FROM (
SELECT * FROM View_ExecutiveForecastReport
WHERE WORKGROUPID IN (94)
)
PIVOT (SUM(COURSELENGTH) AS LENGTH FOR (WORKGROUPID) IN (
94 as "B2B",
66 as "CFS",
69 as "800IB",
76 as "TSData",
99 as "RetailSales",
103 as "Telesales"
))
Я хотел бы вместо этого написать его, используя один SELECT вместо вложенности.Я пытался:
SELECT * FROM View_ExecutiveForecastReport
WHERE WORKGROUPID IN (94)
PIVOT (SUM(COURSELENGTH) AS LENGTH FOR (WORKGROUPID) IN (
94 as "B2B",
66 as "CFS",
69 as "800IB",
76 as "TSData",
99 as "RetailSales",
103 as "Telesales"
))
Но я получаю сообщение об ошибке: ORA-00933: команда SQL неправильно завершена
Я также пытался:
SELECT * FROM View_ExecutiveForecastReport
PIVOT (SUM(COURSELENGTH) AS LENGTH FOR (WORKGROUPID) IN (
94 as "B2B",
66 as "CFS",
69 as "800IB",
76 as "TSData",
99 as "RetailSales",
103 as "Telesales"
))
WHERE WORKGROUPID IN (94)
Что выдает ошибку: ORA-00904: "WORKGROUPID": неверный идентификатор
Если я удаляю предложение WHERE, запрос работает нормально.Я также открыт для решений, которые используют CTE.