sql >> Database >  >> RDS >> Mysql

Hoe werkt een MYSQL Self-Join?

De manier waarop ik dit zou proberen te begrijpen, is door twee lijsten op te schrijven op stuk één met het label event1 en één event2. Zet dan een paar records in elke lijst (de lijsten zullen identiek zijn) begin nu bij de WAAR in de onderstaande beschrijving.

We nemen gegevens van twee tabellen (oké, dezelfde tabel is twee keer gebruikt, maar probeer die voorlopig te negeren)

FROM mm_eventlist_dates event1
JOIN mm_eventlist_dates event2 

Het helpt waarschijnlijk om de rest van onder naar boven te lezen.

  WHERE event1.id=$id

Dus we willen het record van event1 dat het gespecificeerde record-ID heeft. Vermoedelijk is dat precies één record. Nu komen we erachter de dag nadat dat evenement eindigde.

 date_add(event1.enddate, INTERVAL 1 DAY)

Dat vertelt ons de records van event2, ze moeten op die datum beginnen,

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

We hebben nu twee records geïdentificeerd, welke velden willen we?

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

Oh, alleen de velden van degene waarvan we de startdatum hebben gevonden.



  1. Hoe vind ik de gegevensmap voor een SQL Server-instantie?

  2. Er is een DBConcurrency-uitzondering opgetreden tijdens het bijwerken met behulp van Dataadapter

  3. JSON_VALUE() Voorbeelden in SQL Server (T-SQL)

  4. hoe OperationalError op te lossen:(psycopg2.OperationalError) server heeft de verbinding onverwacht gesloten