Estructura tu Tabla así:
Id Category ParentId
1 Jewelry NULL
2 Body 1
3 nose ring 2
4 arm ring 2
5 ear ring 2
-
-
Esto se llama tabla autorreferenciada, es decir, ParentId
las columnas contienen NULL
o valor del Id
columna de la misma tabla.
así que siempre que tengas que saber todas las subcategories
directas de una category
dada , simplemente crea una consulta como:
Select * from CategoryMaster where ParentId = 2;
al hacer esto, obtendrá todas las subcategorías para la subcategoría Body
.
Ahora, la mejor parte de esta estructura de datos es que puede tener n niveles de subcategorías para cualquier subcategoría dada y la misma tabla única con 3 columnas (como mínimo) servirá.