2013-09-05 4 views
1

У меня возникли проблемы с простой функцией замены. Мне нужно заменить a, с | для столбца point_of_contact, но я не уверен, почему я получаю ошибку -104. Я исследовал то, что, как я считаю, был правильным синтаксисом, и попробовал оператор case и заменил функцию, но он не работает для меня. Я использую DB2 и буду благодарен вам за помощь.Заменить функцию в db2

SELECT RowNumber() over (PARTITION BY F13.DIM_PROJECT_ID ORDER BY F13.PROJECT_NAME), 

     F13.DIM_PROJECT_ID, 
     F2P.NAME_LAST, 
     F2P.NAME_FIRST, 
     --F2P.POINT_OF_CONTACT, 
     --CASE WHEN F2P.POINT_OF_CONTACT like '%,%' THEN Replace(F2P.POINT_OF_CONTACT,',','|') ELSE F2P.POINT_OF_CONTACT, 
     REPLACE(F2P.POINT_OF_CONTACT, ',', '|') AS F2P.POINT_OF_CONTACT, 
     F13.PROJECT_NAME, 
     F13.TITLE, 
     F2H.CREATION_DATE, 
     F13.FIELD A, 
     F2H.AMOUNT, 
     F2H.BUILDING_NAME, 
     F2H.PERCENTAGE, 
     F2H.ABILITY, 
     F2SB.HOURS16, 
     F2SB.HOURS33, 
     F2SB.HOURS100 
FROM FACT_TABLE AS F13 
INNER JOIN PERSONNEL AS F2P ON F13.DIM_PROJECT_ID = F2P.DIM_PROJECT_ID 
LEFT JOIN JOB AS F2SB ON F13.DIM_PROJECT_ID = F2SB.DIM_PROJECT_ID 
LEFT JOIN HOURS AS F2H ON F13.DIM_PROJECT_ID = F2H.DIM_PROJECT_ID 

ответ

7

На ваш псевдоним столбца, удалить псевдоним таблицы F2P.

REPLACE(F2P.POINT_OF_CONTACT, ',', '|') AS POINT_OF_CONTACT, 
+0

Wow. Пропустил это. Спасибо Decian_K! – Tone

+0

Если это исправить вашу проблему, не забудьте принять ответ. –

Смежные вопросы