sql >> Databasteknik >  >> RDS >> Mysql

Generera brödsmulor av kategorier lagrade i MySQL

Jag gillar att använda Materialized Path metod, eftersom den i huvudsak innehåller din brödsmula-spår och gör det enkelt att göra saker som att välja alla avkomlingar till en nod utan att använda rekursiva frågor.

Materialiserad sökvägsmodell

Tanken med den materialiserade sökvägsmodellen är att länka varje nod i hierarkin med dess position i trädet. Detta görs med en sammanfogad lista över alla nodernas förfäder. Denna lista lagras vanligtvis i en avgränsad sträng. Notera fältet "Linage" nedan. CAT_ID NAME CAT_PARENT Lineage 1 Home . 2 product 1 .1 3 CD’s 2 .1.2 4 LP’s 2 .1.2 5 Artists 1 .1 6 Genre 5 .1. 5 7 R&B 6 .1. 5.6 8 Rock 6 .1. 5.6 9 About Us 1 .1

Gå igenom tabellen

Select lpad('-',length(t1.lineage))||t1.name listing
From category t1, category t2
Where t1.lineage like t2.lineage ||'%'
    And t2.name = 'Home';
Order by t1.lineage;

Lista

Home
-product
–CD’s
–LP’s
-Artists
–Genre
—R&B
—Rock
-About Us


  1. Skillnader i veckor mellan PHP och MySQL

  2. MONTHS_BETWEEN() Funktion i Oracle

  3. Ange kolumnvärden som kolumnnamn i SQL-frågeresultatet

  4. Hur kan jag skapa en mysql-anslutningspool med asadmin-verktyget i GlassFish-servern?