Гость
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Вывести значение в поле по условию / 8 сообщений из 8, страница 1 из 1
17.04.2019, 08:56
    #39802471
kolhoz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывести значение в поле по условию
Здравствуйте. Есть запрос. В поле status выводятся значения 0,1,2,3,4. Как вывести вместо этих чисел текст по условию?

Например если в поле status 0, то вместо 0 вывести Текст 1, если в поле status 1, вместо 1 вывести Текст 2 и т.д.

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
select
	t1.createdate, 
	t1.status, 
	m.text
from
	man m, 
	talons t1, 
where and t1.updateby = m.keyid
...
Рейтинг: 0 / 0
17.04.2019, 09:02
    #39802474
alex-ls
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывести значение в поле по условию
Код: plsql
1.
2.
3.
4.
5.
case t1.status
when 0 then 'Текст1'
when 1 then 'Текст2'
else 'неизвестный статус'
end
...
Рейтинг: 0 / 0
17.04.2019, 09:05
    #39802476
alex-ls
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывести значение в поле по условию
Но глобально более правильно вывести расшифровку статусов в отдельную таблицу, там прописать соответствие и потом в запросе соединить эти таблицы по ключевому полю
...
Рейтинг: 0 / 0
17.04.2019, 09:07
    #39802477
kolhoz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывести значение в поле по условию
alex-ls, Спасибо, то что нужно
...
Рейтинг: 0 / 0
17.04.2019, 09:10
    #39802480
kolhoz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывести значение в поле по условию
alex-ls, Понимаю что так правильнее, но в БД изменения вносить мы не можем потому что ПО купленное и ее обслуживают другие, наши изменения в БД могут быть стерты при следующем обновлении.
...
Рейтинг: 0 / 0
17.04.2019, 09:40
    #39802509
alex-ls
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывести значение в поле по условию
kolhozalex-ls, Понимаю что так правильнее, но в БД изменения вносить мы не можем потому что ПО купленное и ее обслуживают другие, наши изменения в БД могут быть стерты при следующем обновлении.
я потому и написал 2 варианта. В вашем случае значит надо использовать просто CASE, есть еще аналог ее decode, но там разницы принципиальной никакой между ними нет
...
Рейтинг: 0 / 0
17.04.2019, 13:12
    #39802742
A K
A K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывести значение в поле по условию
kolhoz alex-ls, Понимаю что так правильнее, но в БД изменения вносить мы не можем потому что ПО купленное и ее обслуживают другие, наши изменения в БД могут быть стерты при следующем обновлении.


Создайте свою схему в текущей БД, дайте её owner-у все права на рабочую схему и все необходимые права для работы. Договоритесь что бы ее не трогали при изменении. Как правило (если софт спроэктирован нормально) обновляется только рабочаяя схема, пользовательские схемы не трогают при этом. Все свои наработки (дополнительные справочники, вьюхи, хранимки) можете складировать там.
...
Рейтинг: 0 / 0
24.04.2019, 10:59
    #39805660
AserYZ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывести значение в поле по условию
kolhozalex-ls, Понимаю что так правильнее, но в БД изменения вносить мы не можем потому что ПО купленное и ее обслуживают другие, наши изменения в БД могут быть стерты при следующем обновлении.

А если расшифровка статусов поменяется - не заморитесь везде менять? Вполне реальный совет с отдельной схемой, наделайте нужных вьюх и будет счастье.

После каждого апдейта рабочей схемы останется проверить что поломалось и поправить.
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Вывести значение в поле по условию / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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