Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/03/2006, 00:12
Avatar de FuLaNo_
FuLaNo_
 
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 20 años, 11 meses
Puntos: 2
Consulta MySQL que me esta complicando la vida...

Hola gente:

Existe alguna especie de if-else en MySQL? puesto que necesitaría algo así y no lo consigo...

Necesito ordenar los resultados de una consulta segun la fecha (datetime) del ultimo mensaje (guardada en el campo last_date) DESC y por la fecha de creación (guardada en el campo date) DESC, algo asi:

Código PHP:
$_sql_forums mysql_query("SELECT * FROM `forums_topics` WHERE `forum` = '$_GET[f]' AND `sforum` = '$_GET[sf]' ORDER BY `last_date` DESC, `date` DESC"); 
Facil... pero aca viene mi problema...

El campo "last_date" puede estar VACIO (0000-00-00 00:00:00) y por ello me esta ordenando mal los resultados, doy un ejemplo:

orden | date | last_date
1 | 2006-03-01 00:29:10 | 2006-03-01 01:02:29
2 | 2006-03-01 01:23:03 | 0000-00-00 00:00:00

Cuando en realidad deberia ser
1 | 2006-03-01 01:23:03 | 0000-00-00 00:00:00
2 | 2006-03-01 00:29:10 | 2006-03-01 01:02:29

Se entiende? siempre lista segun el last_date... por eso necesitaria hacer un order by con, por ejemplo, un if..

La idea:

Código PHP:
$_sql_forums mysql_query("SELECT * FROM `forums_topics` WHERE `forum` = '$_GET[f]' AND `sforum` = '$_GET[sf]' ORDER BY if (`last_date` = '0000-00-00 00:00:00') {`date` DESC } else {`last_date` DESC, `date` DESC"); 
Bueno, creo que la idea se entiende, el tema es que no se aplicarla -obviamente los if no funcionan....
__________________
I Love Programming...