Uporządkuj swój stół w ten sposób:
Id Category ParentId
1 Jewelry NULL
2 Body 1
3 nose ring 2
4 arm ring 2
5 ear ring 2
-
-
Nazywa się to tabelą samoodniesień, tj. ParentId
kolumny zawierają NULL
lub wartość z Id
kolumna tej samej tabeli.
więc zawsze, gdy musisz znać wszystkie bezpośrednie subcategories
danej category
, po prostu tworzysz zapytanie takie jak :
Select * from CategoryMaster where ParentId = 2;
w ten sposób uzyskasz wszystkie podkategorie dla podkategorii Body
.
Teraz najlepszą częścią tej struktury danych jest to, że możesz mieć n poziomów podkategorii dla dowolnej podkategorii i wystarczy ta sama pojedyncza tabela z 3 kolumnami (co najmniej).