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

Sql Dotaz na vlastní připojení? Jak získat podkategorie kategorií?

Pro maximální hloubku 6 (včetně kořene) můžete použít toto

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

Rozšiřte vzor podle potřeby pro delší maximální hloubky.



  1. Převeďte sloupec Datetime z UTC na místní čas v příkazu select

  2. MS Access volání SQL Server uložená procedura

  3. Řadit podle data (nejnovější)

  4. Nelze načíst soubor nebo sestavení 'MySql.Data, verze=6.2.2.0