Я новичок в SQL, и мне было интересно, можно ли выбрать из столбцов таблицы, используя разные условия для каждого столбца в одном запросе. Например: скажем, у меня есть таблица с тремя столбцами, называемая «имя», «день рождения» и «зарплата». Я хочу выбрать из названия, когда день рождения или зарплата пустые, но я хочу только выбрать день рождения и зарплату, если они сами пустые (т. Е. Если строка имеет имя, день рождения и зарплату, только имя и день рождения будут выбраны). Есть ли способ сделать это в postgreSQL?Выберите элементы в разных условиях в одном запросе postgreSQL?
ответ
Исправлены столбцы в SQL-запросе в PostgreSQL (в отличие от Informix, где вы можете иметь набор результатов с переменными столбцами). Есть. однако несколько способов обойти это.
Используйте JSON и инструкцию CASE для монстров.
Использование HSTORE и монстр сазе
Использование JSON и функцию, чтобы собрать информацию, гибко.
Используйте HSTORE и функцию для гибкого сбора информации.
Моя рекомендация состоит в том, что если вы действительно хотите этого, JSON с функцией будет лучший путь вперед, если вы по крайней мере 9.1 (и может устанавливать расширения) или 9.2 (даже без расширения). Это не очень легко сделать, и это требует некоторой практики, но это возможно.
Другой вариант - вернуть NULL, где значение не найдено и обрабатывать его на стороне клиента.
- 1. Как получить сумму в разных условиях в одном запросе?
- 2. Выберите несколько строк в разных таблицах в одном запросе
- 3. Выберите несколько связанных объекты в одном запросе
- 4. Выберите несколько элементов документа в одном запросе
- 5. Postgresql подсказать количество групп в одном запросе
- 6. PostgreSQL обновление нескольких таблиц в одном запросе
- 7. PostgreSQL nextval и currval в одном запросе
- 8. Выберите сообщения и теги в одном запросе
- 9. Как group_concate Mysql Выберите в одном запросе
- 10. Выберите DISTINCT и MAX в одном запросе
- 11. Дважды выберите в одном запросе и где
- 12. Hibernate выберите релевантные данные в одном запросе
- 13. MySQL Выберите несколько совпадений в одном запросе
- 14. Случай, выберите и обновите в одном запросе
- 15. Вставить и выберите в одном запросе
- 16. MYSQL - Выберите несколько строк в одном запросе
- 17. Update и выберите оператор в одном запросе
- 18. Несколько выберите отсчет (*) в одном запросе
- 19. Выберите и подсчитайте строки в одном запросе?
- 20. Выберите два счета в одном запросе
- 21. Выберите и обновите в одном запросе
- 22. TSQL: выберите признанные продукты в одном запросе
- 23. Объединение разных ранжировок в одном запросе
- 24. Используйте 2 разных сортировки в одном запросе
- 25. Поиск разных таблиц в одном запросе
- 26. различные хранилища разных проектов в одном запросе
- 27. разные хранилища разных проектов в одном запросе
- 28. MySQL: Объединение разных объектов в одном запросе
- 29. обновление двух разных таблиц в одном запросе
- 30. PostgreSQL многократный подсчет(), где условия в одном запросе
Не можете ли вы проиллюстрировать ваш вопрос с данными образца? – peterm
@Macklin. , , Столбцы, выбранные в SQL-запросе, являются фиксированными, поэтому вы не можете возвращать столбцы переменных. Что происходит в вашем случае, так это то, что некоторые столбцы могут быть «NULL» - и на уровне приложений может понадобиться выяснить, что с ними делать. –
Ваш вопрос не имеет большого смысла. Пожалуйста, отредактируйте свой вопрос, чтобы предоставить образцы данных, образцы критериев и образец запроса, чтобы мы могли понять, что вы хотите. Прямо сейчас, вряд ли вы получите ответы. – Bohemian