Hello I've tried the following with mysql 4.1.11
SELECT * FROM quick_contact WHERE (`status` = '0') OR (`status` = '2'
AND `update` < '".(time()-864000)."') CASE WHEN `update` = '' THEN ORDER
BY `date` DESC ELSE ORDER BY `update` DESC END CASE;
It does not work but, is it my code that is wrong or is it just that
case does not work with mysql 4.1.11 ?
Thanks :)
Kristian Myllymäki a écrit :
> mysql version?
>
> http://dev.mysql.com/doc/refman/5.0/en/case-statement.html
>
> order by case when updated is not null then updated else created end desc;
>
> /Kristian
>
> On Tue, Apr 8, 2008 at 1:04 PM, Richard <mysql_list@stripped> wrote:
>> Hello,
>> I've got a table which containes two date colomns.
>> The first one is called `date` and the second `update`
>> In the first one I put the ticket creation date, and on update I add or
>> change the update value.
>> So the update colomn does not contain a value until the first update has
>> been done.
>> I would like to order the tickets by their last update value. And if this
>> value does not exist use the date value.
>>
>> at the moment I use this :
>>
>> ORDER BY `date` DESC"
>> and I would like to replace it by something like this :
>>
>> ORDER (IF `update`!= '' BY UPDATE ELSE BY DATE)
>>
>> I know this code is completly wrong, just to try and show you what I need
>> ...
>>
>> Here is an example of what I want to achieve
>>
>> num | date | update
>> -------------------------------------------
>> 1 | 1 |
>> 2 | 10 | 60
>> 3 | 20 |
>> 4 | 30 |
>> 5 | 40 | 90
>> 6 | 50 |
>>
>> The required result would be :
>>
>> num | date | update
>> -------------------------------------------
>> 5 | 40 | 90
>> 2 | 10 | 60
>> 6 | 50 |
>> 4 | 30 |
>> 3 | 20 |
>> 1 | 1 |
>>
>> Thanks in advance :)
>>
>> --
>> MySQL General Mailing List
>> For list archives: http://lists.mysql.com/mysql
>> To unsubscribe: http://lists.mysql.com/mysql?unsub=1
>>
>>
>