Mysql
 sql >> база данни >  >> RDS >> Mysql

как да получа рекурсивен резултат, като задам самореферентна таблица в mysql?

Няма да получите рекурсивен резултат от MySQL директно. Наскоро имаше подобна дискусия - може би е възможно с някои RDBMS, използващи съхранени процедури и т.н., но не и с готов SQL (вижте Как мога да получа идентификатори на предшественици за произволна дълбочина на рекурсия в една SQL заявка? ).

Какво правя вместо това в подобни случаи:Получавайте всички коментари без родители. След това за всеки коментар вземете неговите деца (ако съхраните "дълбочината" на всеки коментар, можете да получите всички тези деца и всички деца на следващите слоеве с една SQL заявка). Съхранявайте децата на подходящото място във вашата дървесна структура, повторете.

Ако имате нужда от по-ниско ниво, ще трябва да споделите някакъв код, да обясните структурата на данните си, какво сте опитвали досега и т.н., това е само общият подход.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да създадете клас на модел на общ обект, който поддържа общ идентификатор, включително автоматично генерирани идентификатори?

  2. Запитване на няколко бази данни наведнъж

  3. SQL:вземете N-ти елемент във всяка група

  4. Архивиране и възстановяване на MySQL от командния ред

  5. MySQL JOIN злоупотреба? Колко лошо може да стане?