Mysql
 sql >> Base de données >  >> RDS >> Mysql

si la condition dans mysql select instruction

Pour savoir lequel est sélectionné, vous pouvez faire quelque chose comme ceci :

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

Vous ne pouvez pas vraiment l'avoir comme nom de colonne, et s'il y a une ligne où la condition est vraie et une autre où la condition est fausse, quel devrait être le nom de la colonne ?

Cependant, si vous êtes satisfait de les diviser en 2 colonnes :

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;

Cela revient à dire simplement :

SELECT arrival_time, departure_time
FROM time_schedule;

Sauf que arrival_time sera NULL lorsque la condition est vraie, et departure_time sera NULL lorsque la condition est fausse.