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

Jak funguje MYSQL Self-Join?

Způsob, jakým bych se to pokusil pochopit, je napsat dva seznamy na kus, jeden označený event1 a jeden event2. Poté vypište několik záznamů v každém seznamu (seznamy budou identické), nyní začněte na KDE v popisu níže.

Bereme data ze dvou tabulek (OK, stejná tabulka byla použita dvakrát, ale zkuste to prozatím ignorovat)

FROM mm_eventlist_dates event1
JOIN mm_eventlist_dates event2 

Pravděpodobně pomůže přečíst zbytek zdola nahoru.

  WHERE event1.id=$id

Chceme tedy záznam z události1, který má zadané ID záznamu. Pravděpodobně je to přesně jeden záznam. Nyní zjistíme den po skončení této události.

 date_add(event1.enddate, INTERVAL 1 DAY)

Nyní nám to říká záznamy z události 2, že musí začít k tomuto datu,

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

Nyní máme identifikované dva záznamy, jaká pole chceme?

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

Oh, jen pole z toho, jehož počáteční datum jsme zjistili.



  1. Migrace z Maxscale na ProxySQL Load Balancer

  2. Jak je implementován časový limit dotazu JDBC společnosti Oracle?

  3. Jak exportovat databázi mysql pomocí příkazového řádku?

  4. Jak získat den z data v T-SQL