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

Заявка за самостоятелно присъединяване към Sql? Как да получите подкатегории на категории?

За максимална дълбочина от 6 (включително root), можете да използвате това

select l0.catID,
    concat(
      case when l5.catID is null then '' else concat(l5.category, '/') end
    , case when l4.catID is null then '' else concat(l4.category, '/') end
    , case when l3.catID is null then '' else concat(l3.category, '/') end
    , case when l2.catID is null then '' else concat(l2.category, '/') end
    , case when l1.catID is null then '' else concat(l1.category, '/') end
    , l0.category)
from catcat l0
left join catcat l1 on l0.parentID=l1.catID
left join catcat l2 on l1.parentID=l2.catID
left join catcat l3 on l2.parentID=l3.catID
left join catcat l4 on l3.parentID=l4.catID
left join catcat l5 on l4.parentID=l5.catID

Разширете шаблона според изискванията за по-дълги максимални дълбочини.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ГРЕШКА 1044 (42000):Достъпът е отказан за „root“ с всички привилегии

  2. Ограничаването на заявка до един запис подобрява ли производителността

  3. C#:SQL Query Builder Class

  4. Кой ORM трябва да използвам за Node.js и MySQL?

  5. Как да преобразуваме низ в десетичен?