Re: Default value if query returns 0 rows?

Поиск
Список
Период
Сортировка
От Lars Kellogg-Stedman
Тема Re: Default value if query returns 0 rows?
Дата
Msg-id Pine.LNX.4.44.0409171130480.8060-100000@wolery.deas.harvard.edu
обсуждение исходный текст
Ответ на Re: Default value if query returns 0 rows?  (Bruno Wolff III <bruno@wolff.to>)
Ответы Re: Default value if query returns 0 rows?
Список pgsql-general
On Fri, 17 Sep 2004, Bruno Wolff III wrote:

> >
> >   if exists (select 1 from map where name = 'foo') then
> >     select id from map where name = 'foo'
> >   else
> >     select -1
> >   end if
> >
>
> If there can be at most one match you can use a subselect and coalesce.
>

Bruno,

Thanks for the suggestion.  I've come up with the following that appears to
work:

  SELECT
    COALESCE((SELECT id FROM map WHERE name = $1), -1)
    FROM map_level
    LIMIT 1

-- Lars

--
Lars Kellogg-Stedman <lars@oddbit.com>



В списке pgsql-general по дате отправления:

Предыдущее
От: Bruno Wolff III
Дата:
Сообщение: Re: Default value if query returns 0 rows?
Следующее
От: Steve Atkins
Дата:
Сообщение: Re: Converting varchar() to text