Форум программистов, компьютерный форум, киберфорум
PostgreSQL
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
8 / 8 / 2
Регистрация: 30.01.2015
Сообщений: 157

Вывод поля в зависимости от значения

01.12.2020, 22:08. Показов 2228. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день форумчане, необходим ваш совет.
Задача. Есть шесть полей: три поля фамилия имя отчество на русском и три поля фамилия имя отчество на английском. Необходимо вывести в select только три поля, но с условием , если есть фамилия на русском, то выводить фамилию имя и отчество на русском, а иначе, если фамилия на русском равна null или пустая, то выводить фамилию имя и отчество на английском.
Попробую привести пример
Таблица
Surname, Name, Oname, SurnameRus, NameRus, OnameRus
null, null, null, Иванов, Иван, Иванович
Petrov, Petr, Petrovich, null, null, null

В результате хочу получить
Иванов | Иван | Иванович
Petrov | Petr. | Petrovich

У меня в голове крутится два варианта, но оба мне не нравятся.
Первый вариант делать через case. Если поле фамилия на русском null или пустое поле то вывожу фамилию на английском.
Но тут минус в том, что нужно case делать для каждого поля, что довольно избыточно и ведь может такое быть что у человека нет отчества и тогда будет браться отчество с английского.


Второй вариант использовать ф-цию isnull(arg1, arg2), у нее если первый аргумент равен null, то берется второй. Но тут опять получается нужно применять к каждому полю и не проверял как отработает функция если будет не null, а пустое поле.

Как бы сделали вы?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.12.2020, 22:08
Ответы с готовыми решениями:

Вывод сообщения в зависимости от значения поля
Здравствуйте! Подскажите, пожалуйста, как реализовать программу такого типа: Есть форма для ввода данных, и есть кнопка, которая эти данные...

Вывод инфы в зависимости от значения произвольно поля
Подскажите пожалуйста как ввести информацию в зависимости от значения произвольного поля. Например если Город Ростов то вывести=. Если нет...

Вывод значения одного поля в зависимости от другого
Хочу реализовать. такую вещь, в Форме "КоммунальныеПлатежи" при выборе объекта отображался адрес выбранного объекта из таблицы...

2
1258 / 973 / 383
Регистрация: 02.09.2012
Сообщений: 3,001
01.12.2020, 23:28
SQL Скопировано
1
2
3
4
5
CASE 
WHEN surname IS NULL OR surname = '' THEN COALESCE(surnamerus, '') || COALESCE(namerus,'') || coalesc(onamerus, '')
WHEN surnamerus IS NULL OR surnamerus = '' THEN COALESCE(surname, '') || COALESCE(name,'') || coalesc(oname, '')
ELSE 'unknown person'
END CASE
вот так попримеряйтесь, такой вариант case допустим в PG
1
8 / 8 / 2
Регистрация: 30.01.2015
Сообщений: 157
01.12.2020, 23:35  [ТС]
Можно так, но мне нужно в результате иметь три поля, у меня в дальнейшем в гриде будет три столбца. А так я получу один столбец. Можно конечно делать три case отдельно для фамилии, имени и отчества.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.12.2020, 23:35
Помогаю со студенческими работами здесь

Добавление значения поля в таблицу в зависимости от предыдущего поля этой строки
Имею такую ситуацию. Есть таблица автомобилей. Первое поле это марка авто, выбирается из таблицы марок через подстановку. Второе поле -...

Как реализовать автозаполнение поля в DbGrid в зависимости от значения другого поля
Добрый день. Не могу разобраться в автозаполнением поля в gdgride. Суть проблемы, имеется у меня таблица в которой есть поле...

ProprertyGrid, изменить значение одного поля в зависимости от значения другого поля
Доброго времени суток! Есть у меня такая проблема. Имеется propertyGrid который я заполняю из созданного мной класса Variables с двумя...

Отображение поля в зависимости от значения другого поля
Уважаемые знатоки, имею такую ситуацию поле №1 имеет выбор по выпадающему списку из двух значений: 'однократная' и 'двукратная' ...

Окрашивание, в зависимости от значения поля
Доброго времени суток. Появился вопрос интересный. У меня имеется модель: public class Event { private DateTime...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Мульти-тенантные БД с PostgreSQL Row Security
Codd 23.04.2025
Современные облачные сервисы и бизнес-приложения всё чаще обслуживают множество клиентов в рамках единой программной инфраструктуры. Эта архитектурная модель, известная как мульти-тенантность, стала. . .
Реализация конвейеров машинного обучения с Python и Scikit-learn
AI_Generated 23.04.2025
Мир данных вокруг нас растёт с каждым днём, и умение эффективно обрабатывать информацию стало необходимым навыком. Специалисты по машинному обучению ежедневно сталкиваются с задачами предобработки. . .
Контроллеры Kubernetes Ingress: Сравнительный анализ
Mr. Docker 23.04.2025
В Kubernetes управление входящим трафиком представляет собой одну из ключевых задач при построении масштабируемых и отказоустойчивых приложений. Ingress — это API-объект, который служит вратами. . .
Оптимизация кода Python с Cython и Numba
py-thonny 23.04.2025
Python прочно обосновался в топе языков программирования благодаря своей простоте и гибкости. Разработчики любят его за читабельность кода и богатую экосистему библиотек. Но у этой медали есть и. . .
Микросервис на Python с FastAPI и Docker
ArchitectMsa 23.04.2025
В эпоху облачных вычислений и растущей сложности программных продуктов классическая монолитная архитектура всё чаще уступает место новым подходам. Микросервисная архитектура становится фаворитом. . .
Создаем веб-приложение на Vue.js и Laravel
Reangularity 23.04.2025
Выбор правильного технологического стека определяет успех веб-проекта. Laravel и Vue. js формируют отличную комбинацию для создания современных приложений. Laravel — это PHP-фреймворк с элегантным. . .
Максимальная производительность C#: Span<T> и Memory<T>
stackOverflow 22.04.2025
Мир высоконагруженных приложений безжалостен к неэффективному коду. Каждая миллисекунда на счету, каждый выделенный байт памяти может стать причиной падения производительности. Разработчики на C#. . .
JWT аутентификация в Java
Javaican 21.04.2025
JWT (JSON Web Token) представляет собой открытый стандарт (RFC 7519), который определяет компактный и самодостаточный способ передачи информации между сторонами в виде JSON-объекта. Эта информация. . .
Спринты Agile: Планирование, выполнение, ревью и ретроспектива
EggHead 21.04.2025
Спринты — сердцевина Agile-методологии, позволяющая командам создавать работающий продукт итерационно, с постоянной проверкой гипотез и адаптацией к изменениям. В основе концепции спринтов лежит. . .
Очередные открытия мега простых чисел, сделанные добровольцами с помощью домашних компьютеров
Programma_Boinc 21.04.2025
Очередные открытия мега простых чисел, сделанные добровольцами с помощью домашних компьютеров. 3 марта 2025 года, в результате обобщенного поиска простых чисел Ферма в PrimeGrid был найден. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер