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

jak získám rekurzivní výsledek dotazem na vlastní referenční tabulku v mysql?

Nedostanete rekurzivní výsledek přímo z MySQL. Nedávno tu byla podobná diskuse - je to možná možné s některými RDBMS pomocí uložených procedur atd., ale ne s předdefinovaným SQL (viz Jak mohu získat ID předků pro libovolnou hloubku rekurze v jeden SQL dotaz? ).

Co místo toho v podobných případech dělám:Získejte všechny komentáře bez rodičů. Poté pro každý komentář získejte jeho potomky (pokud uložíte "hloubku" každého komentáře, můžete získat všechny tyto potomky a všechny potomky dalších vrstev jedním SQL dotazem). Uložte děti na příslušné místo ve vaší stromové struktuře, opakujte.

Pokud potřebujete nižší úroveň, budete se muset podělit o nějaký kód, vysvětlit svou datovou strukturu, co jste dosud vyzkoušeli atd., toto je pouze obecný přístup.




  1. Co je LENGTH() v MySQL?

  2. mazání entit v kaskádě nefunguje v relaci ManyToMany

  3. Jak opravit „V seznamu výběru lze zadat pouze jeden výraz…“ na serveru SQL Server

  4. Jak uložit uuid jako číslo?