Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Помогите объединить 2 колонки в одну / 4 сообщений из 4, страница 1 из 1
06.10.2010, 15:35
    #36884780
dizzy1984
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите объединить 2 колонки в одну
Есть выборка результат которой включает в ряду прочего 2 колонки. Если я не ошибаюсь, они имеют тип varchar(сколько-то-там). Эти колонки взаимоисключающие, т.е для каждой строки присутствует значение либо в одной, либо в другой из этих 2-х колонок. Вопрос : как сделать в выборке одну колонку, имеющую либо то, либо другое значение.
Пробовал объединить их с помощью "||", однако получились нулевые значения во всех строках, я так понял из-за того, что объединение null со строкой дает null (вместо самой строки).
Пробовал вариант с case
Код: plaintext
1.
2.
3.
4.
       case cor.CRP_SHORT_NAME
                when null then per.PRS_LAST_NAME || ' ' || per.PRS_FIRST_NAME || ' ' || per.PRS_MID_NAME
                else cor.CRP_SHORT_NAME
       end as "Наименование"
Однако выражение не прожевывается. Пробовал и выражения типа
Код: plaintext
1.
2.
3.
4.
       case cor.CRP_SHORT_NAME
                when length(cor.CRP_SHORT_NAME)= 0  then per.PRS_LAST_NAME || ' ' || per.PRS_FIRST_NAME || ' ' || per.PRS_MID_NAME
                else cor.CRP_SHORT_NAME
       end as "Наименование",
Но то же что-то с синтаксисом (пишет примерно unexpected "=" list of expected ... "CONCAT")

Пока выгружаю в 2 колонки, но выглядит это не эстетично.
...
Рейтинг: 0 / 0
06.10.2010, 16:09
    #36884887
Hunterik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите объединить 2 колонки в одну
Может так покатит?
Код: plaintext
1.
2.
3.
4.
       case 
                when cor.CRP_SHORT_NAME IS null then per.PRS_LAST_NAME || ' ' || per.PRS_FIRST_NAME || ' ' || per.PRS_MID_NAME
                else cor.CRP_SHORT_NAME
       end as "Наименование"
...
Рейтинг: 0 / 0
06.10.2010, 16:17
    #36884922
Помогите объединить 2 колонки в одну
dizzy1984,

Попробуйте так:
Код: plaintext
1.
COALESCE(cor.CRP_SHORT_NAME,per.PRS_LAST_NAME||' '||per.PRS_FIRST_NAME||' '||per.PRS_MID_NAME) as "Наименование"
...
Рейтинг: 0 / 0
07.10.2010, 10:33
    #36886328
dizzy1984
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите объединить 2 колонки в одну
Евгений Хабаров, спасибо, помогло
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Помогите объединить 2 колонки в одну / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]