Re: way to custom sort column by fixed strings, then by field's content
От | Adrian Klaver |
---|---|
Тема | Re: way to custom sort column by fixed strings, then by field's content |
Дата | |
Msg-id | 52EFEA83.90801@gmail.com обсуждение исходный текст |
Ответ на | way to custom sort column by fixed strings, then by field's content (Susan Cassidy <susan.cassidy@decisionsciencescorp.com>) |
Ответы |
Re: way to custom sort column by fixed strings, then by
field's content
|
Список | pgsql-general |
On 02/03/2014 10:53 AM, Susan Cassidy wrote: > I have a column that contains items like > 'absolute root' > 'root 3' > 'root 4' > 'root 5' > 'scene 1' > 'scene 2' > 'scene 3' > > and I would like them to sort in that order. > > I tried: > select sti.description, sc.description from scene_thing_instances sti > join scenes sc on sti.scene_id = sc.scene_id > order by CASE sc.description > when (sc.description = 'absolute root'::text) then 1 > when (sc.description ilike 'root%') then 2 > else 3 > END; > > I was starting with this, and was going to add perhaps another case > statement. > > But it gives me: > ERROR: operator does not exist: text = boolean > LINE 3: when (sc.description = 'absolute root'::text) th... > ^ > HINT: No operator matches the given name and argument type(s). You > might need to add explicit type casts. > > I don't understand this because description is a text column, not > boolean, and certainly 'absolute root'::text is a text string. > > This is 9.2. > > Ideas, anyone? select sti.description, sc.description from scene_thing_instances sti join scenes sc on sti.scene_id = sc.scene_id order by sc.description, CASE when (sc.description = 'absolute root'::text) then 1 when (sc.description ilike 'root%') then 2 else 3 END; > > Thanks, > Susan -- Adrian Klaver adrian.klaver@gmail.com
В списке pgsql-general по дате отправления: