Re: Default value if query returns 0 rows?
От | Christian Mangold |
---|---|
Тема | Re: Default value if query returns 0 rows? |
Дата | |
Msg-id | 414B08A9.3090904@man-it.at обсуждение исходный текст |
Ответ на | Default value if query returns 0 rows? (Lars Kellogg-Stedman <lars@oddbit.com>) |
Список | pgsql-general |
Hi, I think select id from (select id from map where name like 'foo' union select -1 as id order by id desc) a LIMIT 1 should do it in the case id >= 0 for existing names. -Christian Lars Kellogg-Stedman schrieb: > Hello, > > I have a simple two-column table mapping names to ids. I'd like to write a > select statement that will return a default value if a given name isn't > found in the table. That is, I want something equivalent to the following > pseudocode: > > if exists (select 1 from map where name = 'foo') then > select id from map where name = 'foo' > else > select -1 > end if > > I think I can see how to do this by writing a pl/pgsql function, but I'm > curious if it's possible to do this completely as part of a select > statement. I've toyed with CASE expressions, but the fact that a missing > value returns 0 rows continues to foil me. > > Thanks, > > -- Lars >
В списке pgsql-general по дате отправления: