Я пытаюсь предотвратить результаты комплексного подвыбора, который используется как часть более крупного оператора INSERT, от NULL. Значение поля должно быть пустой строкой вместо NULL.Именование комплекса sub-select «as» в случае case
В целом, вставка выглядит примерно так:
INSERT INTO record (id,field1,field2) VALUES (val1,val2,<complex select>);
Чтобы предотвратить сложный выбор от того, NULL я могу использовать:
SELECT CASE WHEN <complex select> THEN <complex select> else '' end as b
Проблема заключается в том, что я не хочу повторять сложный выбор, поскольку он делает запрос в два раза большим, трудно читается, подвержен ошибкам, если запрос нужно слегка изменить и т. д., поэтому я хотел бы назвать результат выбора, чтобы я мог просто ссылаться на значение вместо , Но когда я пытаюсь сделать это, я получаю сообщение об ошибке:
SELECT CASE WHEN <complex select> as a THEN a else '' end as b
или
SELECT CASE WHEN (<complex select> as a) THEN a else '' end as b
Ошибка является:
near "as": syntax error