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

kontrola hodnoty v n-depth stromu?

Pokud vnořené sady nejsou možné, vím o následujícím:

  • Pokud jsou data uspořádána tak, že děti rodiče vždy následují svého rodiče, můžete to vyřešit jedním databázovým dotazem na všechna data přeskočením skrytých uzlů ve výstupu.

Funguje to stejně i u seřazené vnořené sady, princip byl popsán v této odpovědi nicméně algoritmy pro získání hloubky nefungují a já bych navrhl rekurzivní iterátor který je schopen odstranit skryté položky.

Také pokud data nejsou seřazena, můžete vytvořit stromovou strukturu z (netříděného) dotazu všech řádků, jak je uvedeno v odpověď na Vnořené pole. Třetí úroveň mizí . Není potřeba rekurze a získáte strukturu, kterou můžete snadno vytisknout, měl jsem to pokrýt pro <ul>/<li> výstup ve stylu html také v jiné odpovědi.



  1. Postgres case Sensitivity

  2. ORA-01652:nelze rozšířit dočasný segment o 128 v tabulkovém prostoru SYSTÉM:Jak rozšířit?

  3. Spravovaná knihovna ODP.NET řeší alias, ale 32bitová knihovna ano

  4. QSqlDatabase open vždy po aktualizaci vrátí hodnotu true