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

Jak działa samodołączanie MYSQL?

Sposobem, w którym próbowałbym to zrozumieć, jest napisanie dwóch list na kawałku, jeden oznaczony jako zdarzenie1 i jeden zdarzenie2. Następnie wymień kilka rekordów na każdej liście (listy będą identyczne) teraz zaczynaj od GDZIE w opisie poniżej.

Pobieramy dane z dwóch tabel (OK, ta sama tabela została użyta dwa razy, ale spróbuj na razie to zignorować)

FROM mm_eventlist_dates event1
JOIN mm_eventlist_dates event2 

Prawdopodobnie pomaga czytać resztę od dołu do góry.

  WHERE event1.id=$id

Więc chcemy rekordu ze zdarzenia 1, który ma określony identyfikator rekordu. Przypuszczalnie to dokładnie jeden rekord. Teraz ustalamy dzień po zakończeniu tego wydarzenia.

 date_add(event1.enddate, INTERVAL 1 DAY)

To mówi nam, że rekordy z wydarzenia 2 muszą rozpocząć się w tym dniu,

ON event2.startdate = date_add(event1.enddate, INTERVAL 1 DAY)

Mamy teraz zidentyfikowane dwa rekordy, jakich pól chcemy?

SELECT event2.id, event2.startdate, event2.price

Och, tylko pola z tego, którego datę początkową ustaliliśmy.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wysyłanie wszystkich błędów PHP do bazy danych, a nie error_log

  2. INDEKS UPUSZCZENIA MySQL

  3. Ruby on Rails 3 Nie można połączyć się z lokalnym serwerem MySQL przez gniazdo '/tmp/mysql.sock' w systemie OSX

  4. Jak działa funkcja INSTR() w MySQL

  5. Wprowadzenie do grupowania i sumowania SQL