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).