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");
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");