Mysql
 sql >> Baza danych >  >> RDS >> Mysql

if condition w mysql select w instrukcji

Aby wiedzieć, który jest wybrany, możesz zrobić coś takiego:

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

Tak naprawdę nie możesz mieć jej jako nazwy kolumny, co jeśli jest jeden wiersz, w którym warunek jest prawdziwy, a drugi, w którym warunek jest fałszywy, jaka powinna być nazwa kolumny?

Jeśli jednak jesteś zadowolony, dzieląc je na 2 kolumny:

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;

Jest to bardzo podobne do prostego powiedzenia:

SELECT arrival_time, departure_time
FROM time_schedule;

Poza tym arrival_time będzie NULL gdy warunek jest prawdziwy, a departure_time będzie NULL gdy warunek jest fałszywy.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zmienić dwa różne nagłówki kolumn istniejącej tabeli bazy danych w sqlalchemy?

  2. MySQL:Jak SUM() i TIMEDIFF() na grupie?

  3. Jaka jest równoważna instrukcja DBCC INPUTBUFFER(@@SPID)(która daje instrukcję sql dla bieżącego połączenia lub określonego połączenia) w MYSQL?

  4. Zmiana tabeli kończy się niepowodzeniem, ponieważ wiersz zawiera nieprawidłowe dane — niepoprawna wartość daty i godziny:„0000-00-00 00:00:00”

  5. Dlaczego mój PDO nie działa?