Mysql
 sql >> база данни >  >> RDS >> Mysql

Как работи MYSQL Self-Join?

Начинът, по който бих се опитал да разбера това, е да напиша два списъка на едно парче с етикет event1 и едно събитие2. След това избройте няколко записа във всеки списък (списъците ще бъдат идентични) сега започнете от WHERE в описанието по-долу.

Взимаме данни от две таблици (ОК, същата таблица е използвана два пъти, но се опитайте да игнорирате това за момента)

FROM mm_eventlist_dates event1
JOIN mm_eventlist_dates event2 

Вероятно ще ви помогне да прочетете останалото отдолу нагоре.

  WHERE event1.id=$id

Така че искаме записа от event1, който има посочения идентификатор на запис. Вероятно това е точно един рекорд. Сега разбираме деня след края на събитието.

 date_add(event1.enddate, INTERVAL 1 DAY)

Сега, когато ни казват записите от event2, те трябва да започнат на тази дата,

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

Вече имаме два идентифицирани записа, какви полета искаме?

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

О, само полетата от този, чиято начална дата разбрахме.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Запитване на няколко бази данни наведнъж

  2. Изключение:Вече има отворен DataReader, свързан с тази връзка, който първо трябва да бъде затворен

  3. Грешка при несинхронизирани команди на PHP

  4. Как да получите разликата в годините от две различни дати?

  5. Как да шифровате трафика от хибридна облачна база данни