sql >> Databáze >  >> RDS >> Mysql

if podmínka v příkazu mysql select

Chcete-li zjistit, který z nich je vybrán, můžete udělat něco takového:

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

Nemůžete to mít jako název sloupce, co když je jeden řádek, kde je podmínka pravdivá, a jeden, kde je podmínka nepravda, jaký by měl být název sloupce?

Pokud je však rádi rozdělíte do 2 sloupců:

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;

Je to velmi podobné, jako byste jednoduše řekli:

SELECT arrival_time, departure_time
FROM time_schedule;

Kromě arrival_time bude NULL když je podmínka pravdivá, a departure_time bude NULL když je podmínka nepravdivá.



  1. Aktualizace pandy sql

  2. Podmíněný SUM na Oracle

  3. 9 zásadních úkolů, za které jsou odpovědní správci databází

  4. Bezpečnostní přístupy v datovém modelování. Část 4