sql >> Databáze >  >> RDS >> Mysql

Připojení podle předchozího ekvivalentu pro MySQL

MySQL nepodporuje rekurzivní dotazy, takže to musíte udělat tvrdším způsobem:

  1. Vyberte řádky, kde ParentID = X kde X je váš kořen.
  2. Shromážděte Id hodnoty z (1).
  3. Opakujte (1) pro každé Id od (2).
  4. Opakujte ručně, dokud nenajdete všechny listové uzly.

Pokud znáte maximální hloubku, můžete připojit svůj stůl k sobě (pomocí LEFT OUTER JOINů) do maximální možné hloubky a poté vyčistit NULL.

Můžete také změnit reprezentaci stromu na vnořené sady .



  1. Použití pt-pg-summary Percona Toolkit pro PostgreSQL

  2. Jak mohu zkombinovat více řádků do seznamu odděleného čárkami v SQL Server 2005?

  3. Jak číst všechny řádky z velké tabulky?

  4. Přidání nápovědy k dotazu při volání funkce Table-Valued Function