Mysql
 sql >> Database >  >> RDS >> Mysql

if condition nell'istruzione mysql select

Per sapere quale è selezionato, puoi fare qualcosa del genere:

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

Non puoi davvero averlo come nome della colonna, cosa succede se c'è una riga in cui la condizione è vera e una in cui la condizione è falsa, quale dovrebbe essere il nome della colonna?

Tuttavia, se sei felice di dividerli in 2 colonne:

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;

Questo è molto simile a dire semplicemente:

SELECT arrival_time, departure_time
FROM time_schedule;

Tranne che arrival_time sarà NULL quando la condizione è vera e departure_time sarà NULL quando la condizione è falsa.