Strukturera din tabell så här:
Id Category ParentId
1 Jewelry NULL
2 Body 1
3 nose ring 2
4 arm ring 2
5 ear ring 2
-
-
Detta kallas Self-Referencing Table, dvs ParentId
kolumner innehåller antingen NULL
eller värde från Id
kolumn i samma tabell.
så närhelst du måste känna till alla direkta subcategories
av en given category
, skapar du helt enkelt en fråga som :
Select * from CategoryMaster where ParentId = 2;
Om du gör detta får du alla underkategorier för underkategorin Body
.
Det bästa med denna datastruktur är att du kan ha n-nivåer av underkategorier för en given underkategori och samma enstaka tabell med 3 kolumner (minst) räcker.