sql >> Database >  >> RDS >> Mysql

Hoe schrijf ik een MYSQL-query die kinderen genest onder ouders teruggeeft?

Het is niet mogelijk in pure SQL.

SQL is bedoeld om te werken met relationele gegevens, niet met bomen (hiërarchische gegevens).

U kunt een boom weergeven in een SQL-schema, maar u kunt niet in een boomstructuur resulteren zoals u van plan bent te doen.

De enige manier om dit te doen is om een ​​bruikbaar resultaat te krijgen door zoveel joins te maken als het level dat je opslaat.

Uw huidige schema ondersteunt mogelijk meerdere niveaus, maar het zal erg moeilijk zijn om meer dan één of twee niveaus te beheren.

Mogelijk ben je geïnteresseerd in Genest setmodel of Hiërarchische gegevens beheren in mysql

Er zijn enkele implementaties van de geneste set, zoals deze werken met Doctrine 2



  1. Fix Msg 8116 "Argument data type datum is ongeldig voor argument 1 van substring functie" in SQL Server

  2. Geïndexeerde ORDER BY met LIMIT 1

  3. SQLSTATE[23000]:Integriteitsbeperkingsschending:1452 Kan een onderliggende rij niet toevoegen of bijwerken:een externe-sleutelbeperking mislukt

  4. *ALERT* Windows-update breekt pure Access-applicaties - fix beschikbaar