sql >> Base de Datos >  >> RDS >> Mysql

si la condición en mysql select declaración

Para saber cuál está seleccionado, puedes hacer algo como esto:

SELECT IF(start_city_name='somecity', 'Departure time', 'Arrival time'),
       IF(start_city_name='somecity', departure_time, arrival_time)
FROM time_schedule;

Realmente no puede tenerlo como el nombre de la columna, ¿qué pasa si hay una fila donde la condición es verdadera y otra donde la condición es falsa, cuál debería ser el nombre de la columna?

Sin embargo, si está contento de dividirlos en 2 columnas:

SELECT IF(start_city_name='somecity', NULL, arrival_time) AS 'Arrival time',
       IF(start_city_name='somecity', departure_time, NULL) AS 'Departure time'
FROM time_schedule;

Esto es muy similar a simplemente decir:

SELECT arrival_time, departure_time
FROM time_schedule;

Excepto que arrival_time será NULL cuando la condición es verdadera y departure_time será NULL cuando la condición es falsa.