Re: SQL query

Поиск
Список
Период
Сортировка
От David Goodenough
Тема Re: SQL query
Дата
Msg-id 200502111646.26688.david.goodenough@btconnect.com
обсуждение исходный текст
Ответ на Re: SQL query  (Bruno Wolff III <bruno@wolff.to>)
Список pgsql-general
On Friday 11 February 2005 13:39, Bruno Wolff III wrote:
> On Fri, Feb 11, 2005 at 11:07:24 +0000,
>
>   David Goodenough <david.goodenough@btconnect.com> wrote:
> > I thought of using an inner select for the join, and using limit 1 to
> > get just the one, and forcing the order by to give me the billing
> > address by preference, but I am then dependant on the sort order
> > of the particular type values I am selecting from.
>
> You can order by boolean expressions such as type = 'billing'.
> You can use that with LIMIT or DISTINCT ON to get just the address you
> want.

Tried this, and got a rather un-intuative answer.  If you have two relevant
entries (one billing, the other default) and you:-

 order by type = 'billing' limit 1

you get the default one, if you:-

 order by type != 'billing' limit 1

you get the billing one.

However:-

  order by type = 'billing' DESC limit 1

does get you the billing one.

It makes sense in that false == 0 and true == 1 in many languages
and 0 sorts before 1, but it still feels wrong.

I had not realised I could use a comparison like this in order by.

Thanks

David

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

Предыдущее
От: David Goodenough
Дата:
Сообщение: Re: SQL query
Следующее
От: Bruce Momjian
Дата:
Сообщение: Re: PostgreSQL Features