On 3/14/07, Pablo Barrón <[EMAIL PROTECTED]> wrote:
Hi!
I'm trying to order a list in which the first parameter to order is a
specific field, and the second should vary depending on a specific
condition. More explicit, I would like to do something like:
- ORDER BY a.column1, [b.column2 if c.value != 19 || c.column2 if
c.value==19]
That is to say, use a column if a value on each row isn't 19, OR use a
different column if it isn't. How could I solve this? I've got to have a
global order over my query, so I cannot separate it into two queries, etc
:-?
Thank you!
SELECT (...)
ORDER BY a.column1, CASE
WHEN c.VALUE <> 19
THEN b.column2
ELSE c.column2
END;
---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
choose an index scan if your joining column's datatypes do not
match