У меня есть представление в PostgreSQL, где я использую функцию COALESCE для извлечения первого поля NOT NULL из таблицы. то есть
SELECT
SRC.SAP_SETNODE.SUBSET_CLS,
COALESCE(
SETNODE_13.SUBSET_NAME,
SETNODE_12.SUBSET_NAME,
SETNODE_11.SUBSET_NAME,
SETNODE_10.SUBSET_NAME,
SETNODE_9.SUBSET_NAME,
SETNODE_8.SUBSET_NAME,
SETNODE_7.SUBSET_NAME,
SETNODE_6.SUBSET_NAME,
SETNODE_5.SUBSET_NAME,
SETNODE_4.SUBSET_NAME,
SETNODE_3.SUBSET_NAME,
SETNODE_2.SUBSET_NAME,
SETNODE_1.SUBSET_NAME,
SRC.SAP_SETNODE.SUBSET_NAME,
SRC.SAP_SETNODE.SET_NAME)
AS prctr1,
После того, как у меня есть это поле, я хочу создать НОВОЕ поле с именем prctr2, где я хочу выполнить функцию SPLIT PART & OVERLAY для поля prctr1, если оно LIKE 'PC%'
Я попытался сделать оператор CASE по этому поводу, например:
WHEN prctr1 LIKE 'PC%' THEN split_part( overlay(prctr1 placing '00000' from 1 for 2 ),'.',1)
ELSE prctr1
Но я получаю сообщение о том, что столбец prctr1 не существует. Есть ли способ сделать это?