0
Я ищу данные в течение нескольких недель в столбцах.Oracle SQL: получение данных за несколько недель
SELECT
MAR.AR,
SUM(CASE
WHEN MAR.CREATION_DAY >= TO_DATE({RUN_DATE_YYYYMMDD}, 'YYYYMMDD')-28
AND MAR.CREATION_DAY <= TO_DATE({RUN_DATE_YYYYMMDD}, 'YYYYMMDD')
THEN 1
ELSE 0
END) AS [WEEK_N-3]
SUM(CASE
WHEN MAR.CREATION_DAY >= TO_DATE({RUN_DATE_YYYYMMDD}, 'YYYYMMDD')-21
AND MAR.CREATION_DAY <= TO_DATE({RUN_DATE_YYYYMMDD}, 'YYYYMMDD')
THEN 1
ELSE 0
END) AS [WEEK_N-2]
SUM(CASE
WHEN MAR.CREATION_DAY >= TO_DATE({RUN_DATE_YYYYMMDD}, 'YYYYMMDD')-14
AND MAR.CREATION_DAY <= TO_DATE({RUN_DATE_YYYYMMDD}, 'YYYYMMDD')
THEN 1
ELSE 0
END) AS [WEEK_N-1]
SUM(CASE
WHEN MAR.CREATION_DAY >= TO_DATE({RUN_DATE_YYYYMMDD}, 'YYYYMMDD')-7
AND MAR.CREATION_DAY <= TO_DATE({RUN_DATE_YYYYMMDD}, 'YYYYMMDD')
THEN 1
ELSE 0
END) AS [WEEK_N]
FROM
TABLE_DATA MAR
WHERE
MAR.CREATION_DAY >= TO_DATE({RUN_DATE_YYYYMMDD}, 'YYYYMMDD')-28
AND MAR.CREATION_DAY <= TO_DATE({RUN_DATE_YYYYMMDD}, 'YYYYMMDD')
GROUP BY
MAR.AR
Ошибки SQL при использовании {RUN_Date_YYYYMMDD}. Есть ли альтернативный способ сделать это?
Спасибо!
Что '{}' RUN_Date_YYYYMMDD должно означать? – Mat
Он возвращает дату, которую я выбираю в своем приложении. Обычно я выбираю субботу. Я не хочу указывать дату в запросе. – KayCee
Каков текст запроса, переданного Oracle? – Mat