SQLRU.net
Разработка приложений баз данных

Начало » Использование СУБД » PostgreSQL » подзапрос в условном выражении
подзапрос в условном выражении [сообщение #2361] Wed, 24 May 2023 08:46 Переход к следующему сообщению
pkonst888 в настоящее время не в онлайне  pkonst888
Сообщений: 1
Зарегистрирован: May 2023
Junior Member
Добрый день!

Коллеги, прошу помочь в решении следующего вопроса.
Хочу вывести разные наборы данных в зависимости от условий, однако при выполнении кода возникает ошибка
"ERROR: ОШИБКА: подзапрос в выражении вернул больше одной строки".
Код такой :

SELECT

CASE WHEN (SELECT count (*) FROM bas.t) > 0 THEN (SELECT a FROM bas.t)
ELSE (SELECT b FROM bas.t)
END

Какие варианты решения возможны?
Re: подзапрос в условном выражении [сообщение #2366 является ответом на сообщение #2361] Wed, 24 May 2023 12:18 Переход к предыдущему сообщениюПереход к следующему сообщению
BlackEric в настоящее время не в онлайне  BlackEric
Сообщений: 329
Зарегистрирован: June 2022
Senior Member
How to run SELECT queries in PL/pgSQL IF statements
Re: подзапрос в условном выражении [сообщение #5322 является ответом на сообщение #2361] Thu, 08 August 2024 14:05 Переход к предыдущему сообщению
iLinkses в настоящее время не в онлайне  iLinkses
Сообщений: 5
Зарегистрирован: August 2024
Junior Member
pkonst888 писал(а) Wed, 24 May 2023 08:46
(SELECT count (*) FROM bas.t) > 0
У вас если эту условие не отработает, то смысла делать запрос `SELECT b FROM bas.t` в принципе нет. таблица то одна и та же
Предыдущая тема: Найти подстроку
Переход к форуму:
  


Текущее время: Thu Sep 19 04:26:04 GMT+3 2024

Общее время, затраченное на создание страницы: 0.00727 секунд