Để biết cái nào được chọn, bạn có thể làm như sau:
SELECT IF(start_city_name='somecity', 'Departure time', 'Arrival time'),
IF(start_city_name='somecity', departure_time, arrival_time)
FROM time_schedule;
Bạn thực sự không thể đặt nó làm tên cột, điều gì sẽ xảy ra nếu có một hàng trong đó điều kiện là đúng và một trong đó điều kiện là sai, thì tên cột phải là gì?
Tuy nhiên, nếu bạn hài lòng khi chia chúng thành 2 cột:
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;
Điều này rất giống với cách nói đơn giản:
SELECT arrival_time, departure_time
FROM time_schedule;
Ngoại trừ arrival_time
đó sẽ là NULL
khi điều kiện là đúng và departure_time
sẽ là NULL
khi điều kiện sai.