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

Как да напиша MYSQL заявка, която ще върне деца, вложени под родители?

Не е възможно в чист SQL.

SQL е предназначен да работи с релационни данни, а не с дървета (йерархични данни).

Можете да представите дърво в SQL схема, но няма да можете да създадете дърво, както възнамерявате да направите.

Единственият начин да направите е да получите използваем резултат, като направите толкова присъединени, колкото нивото, което съхранявате.

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

Може да се интересувате от Модел на вложен набор или Управление на йерархични данни в mysql

Има някои реализации на вложения набор като този за работа с Доктрина 2



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL:Ограничете две колони, така че една от тях винаги да е NULL

  2. Как да разрешите ГРЕШКА 1060:Дублиране на име на колона с помощта на Views -> Create View

  3. MySQL:вземете MAX или GREATEST от няколко колони, но с NULL полета

  4. Може ли MySql да върне обратно sql транзакция върху множество таблици?

  5. Създаване на персонализирана MySQL функция?