sql >> Database teknologi >  >> RDS >> Mysql

Forbind med tidligere ækvivalent til MySQL

MySQL understøtter ikke rekursive forespørgsler, så du skal gøre det på den hårde måde:

  1. Vælg rækkerne, hvor ParentID = X hvor X er din rod.
  2. Saml Id værdier fra (1).
  3. Gentag (1) for hvert Id fra (2).
  4. Fortsæt med at vende tilbage i hånden, indtil du finder alle bladknuderne.

Hvis du kender en maksimal dybde, kan du slutte dit bord til sig selv (ved hjælp af LEFT OUTER JOINs) ud til den maksimalt mulige dybde og derefter rydde op i NULL'erne.

Du kan også ændre din trærepræsentation til indlejrede sæt .



  1. MariaDB SUBSTR() Forklaret

  2. Indsætter i Oracle og henter det genererede sekvens-id

  3. Tuning:Et godt sted at starte

  4. MySQL-vælg med CONCAT-tilstand