Я был бы признателен за помощь в этом коде, я получаю сообщение об ошибке «missing keyword». Я никогда раньше не использовал функцию Lag, поэтому, надеюсь, я правильно ее использую. Спасибо за вашу помощь. ГавOracle SQL LAG Function
CREATE VIEW GS_Date AS
SELECT
DATE_DATE,
DATE_FLAG,
CASE WHEN LAG (DATE_FLAG) OVER (ORDER BY DATE_DATE) = '1' THEN DATE_STEP = (LAG (DATE_FLAG) OVER (ORDER BY DATE_DATE)) + '1'
WHEN LAG (DATE_FLAG) OVER (ORDER BY DATE_DATE) = '0' AND LAG (DATE_FLAG) OVER (ORDER BY DATE_DATE) = '-1' THEN DATE_STEP = (LAG (DATE_FLAG) OVER (ORDER BY DATE_DATE)) + '1'
ELSE DATE_STEP = LAG (DATE_FLAG) OVER (ORDER BY DATE_DATE) END AS DATE_STEP
FROM DATE_GROUP
Вы не можете назначать переменные или столбцы, используя 'DATE_STEP = ...' в инструкции SQL. Не связано с ошибкой: 'lag()' возвращает число, не сравнивая его со строкой. '' 1'' является строковой константой. '1' - это число. –
Чтобы найти ошибку, временно пропустите случай и попробуйте одну LAG в это время. – jarlh
Благодарим вас за помощь, сейчас работаю. – Gavin