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

Hent forældre-barn-hierarki fra en selvrefererende mysql-tabel

MySQL understøtter ikke rekursive forespørgsler, så hvis et barn kan få børn, er der ingen måde at formulere en sådan forespørgsel på. Ellers skulle denne forespørgsel returnere rækkerne i den rækkefølge, du har brug for:

SELECT * FROM tablename
ORDER BY
  CASE WHEN parent_id=0 THEN id ELSE parent_id END,
  id

Se venligst violin her . Tricket er at sortere rækker efter id hvis det er en forælder eller efter parent_id hvis det er et barn, og derefter efter id .




  1. Python SQLAlchemy - MySQL-serveren er forsvundet

  2. Ret "Mindst et af argumenterne til COALESCE skal være et udtryk, der ikke er NULL-konstanten" i SQL Server

  3. Returner en liste over alle serverudløsere i SQL Server

  4. Brug af WHERE-sætning til at finde POI inden for en afstand fra længde- og breddegrad