Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

if condição na instrução mysql select


Para saber qual deles está selecionado, você pode fazer algo assim:
SELECT IF(start_city_name='somecity', 'Departure time', 'Arrival time'),
       IF(start_city_name='somecity', departure_time, arrival_time)
FROM time_schedule;

Você não pode realmente tê-lo como o nome da coluna, e se houver uma linha onde a condição for verdadeira e outra onde a condição for falsa, qual deve ser o nome da coluna?

No entanto, se você estiver feliz em dividi-los em 2 colunas:
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;

Isso é muito semelhante a simplesmente dizer:
SELECT arrival_time, departure_time
FROM time_schedule;

Exceto que arrival_time será NULL quando a condição for verdadeira e departure_time será NULL quando a condição é falsa.