Tengo una tabla con tres columnas; la primera columna contiene ID y las otras dos columnas contienen fechas (donde como máximo uno es nulo, pero no creo que esto afecte a nada). ¿Cómo haría para ordenar los ID en función de qué fecha es más grande? He intentadoorden SQL por dos columnas diferentes (posiblemente nulas)
ORDER BY CASE
WHEN date1 > date2 THEN date1
ELSE date2
END
pero esto no funcionó. ¿Alguien puede ayudarme? Además, todos los problemas similares que he visto que otros publican lo tienen para que la consulta ordene los resultados según la primera columna, y luego, si la primera columna es nula, la segunda columna. ¿Primero tendría que definir cada valor nulo? Estoy creando esta tabla mediante una combinación externa completa, por lo que sería una pregunta completamente diferente, así que con suerte se puede hacer con valores nulos.
Su expresión 'CASE' se ve bien para mí, excepto en que no admite el caso en que' date2' es nulo; para admitir eso también, le gustaría escribir (decir) 'PEDIR POR CASO CUANDO fecha1> fecha2 O fecha2 ES NULA ENTONCES fecha1 FECHA EL2 END '. Pero dices que "no funcionó". ¿Puedes ser mas específico? Por ejemplo, ¿puede publicar datos reales que no se ordenan correctamente? – ruakh
Gabe, ¿qué base de datos ejecutará la consulta? –
Lo siento, pensé que todos funcionaban igual. Pero estoy usando Oracle. No sé si eso es lo suficientemente específico para ustedes, sin embargo. : S –