El nuevo problema que ahora tengo es el siguiente:
Estoy haciendo un menú el cual me tiene que listar las categorías que tiene un fabricante. Ya he desarrollado parte de él para otros niveles pero en este nivel estoy atascado desde hace un par de días y la consulta no me sale. Es un SQL 2000.
La idea es la siguiente tengo una tabla CATEGORIAS y una tabla PRODUCTO y tengo que listar todas las categorías que pertenecen a un fabricante en concreto.
La tabla PRODUCTO tiene así mismo el código de la categoría CODCAT el fabricante FABRICA y los niveles de categoría dentro del menú CAT0, CAT1 y CAT2
El nivel CAT0 = 1 significa que pertenece a la categoría 1
El nivel CAT1 = 12 significa que pertenece a la categoría 12
El nivel CAT2 = 12 significa que también pertenece a la categoría 12 (Por lo tanto este artículo se mostrará también en ese nivel)
El nivel CAT2 = PC y CAT1 = 11 significa que este producto no se mostrará en la categoría con nivel 11 sino que de ella se desplegará otra categoría CAT2 = PC donde en esta si estarán todas las categoría con productos
En cuanto a TIENE_ARTIC significa si es 1 que en esta categoría ya tiene productos que dependen de ella y si es 0 significa que de esta categoría se desplegará otra categoría
Por ejemplo:
Código:
De esta forma según las tablas que adjunto de ejemplo, si tengo que listar las categorías con nivel 13 que tienen articulos del fabricante 009 solo se mostrarán las categorías marcadas arriba con un asterisco, la 132, la 1329 y la AN porque son las únicas que cumplen con el nivel que les pertenece y que dentro tienen productos o subcategorías que tienen productos con el fabricante 0091 ORDENADORES 12 ORDENADORES AX 13 PORTATILES 1310 PORTATIL ACER * 132 PORTATIL HP * 1329 ACCESORIOS HP 133 PORTATIL TOSHIBA NA Netbook NB Portátiles (>= 14 Pulg.) * AN Accesorios AN1 Accesorios AN2 Accesorios Baterias AN9 Accesorios Varios 2 DISPOSITIVOS 21 CAJAS CONEX
Espero haberme explicado lo mejor posible. He probado de todo, pero no me acaba de funcionar, o me saca más de la cuenta o me falta alguna...
Código:
TABLA: categorias ============== codcat descrip nivel tiene_artic MU Modem Internos 61 0 A07 Estuches De Mp3 AK 1 AS AccesoriosPC 11 0 40103 Altavoces activos 40 1 42105 Altavoces megafonia 42 1 AN1 Accesorios AN 1 AN2 Accesorios Baterias AN 1 FD Camaras 25 0 TI PDA 14 0 1124 Ordenadores HP 11 1 PC PCSobremesa 11 0 1 ORDENADORES 0 0 12 ORDENADORES AX 1 0 13 PORTATILES 1 0 1310 PORTATIL ACER 13 1 132 PORTATIL HP 13 1 1329 ACCESORIOS HP 13 1 133 PORTATIL TOSHIBA 13 1 NA Netbook 13 0 NB Portátiles (>= 14 Pulg.) 13 0 AN Accesorios 13 0 2 DISPOSITIVOS 0 0 21 CAJAS CONEX 2 0 AN9 Accesorios Varios AN 1
Código:
TABLA: producto ============== cod descrip_art codcat fabrica cat0 cat1 cat2 12220378 SERVIDOR HP PROLIANT DL360 1222 009 1 12 12 16005250 GPS GARMIN 16005 123 1 16 16 11241250 ORDENADOR HP-COMPAQ 1 1124 009 1 11 11 11241251 ORDENADOR HP-COMPAQ 2 1124 009 1 11 11 ES-AK819AW HP DC5800 C2D E8400 PCE 009 1 11 PC ES-DC198A HP DVI CABLE KIT AS6 009 1 11 AS 22110325 PLOTTER COLOR HP 2211 009 2 22 22 ES-AJ749A HP BANDEJA 12HDS SX1 009 3 33 SX 13201340 PORTATIL HP 132 009 1 13 13 LX.TPX0Z.249 T94004G320G15W NBD 249 1 13 NB TGXAM127 PANTALLA 15.4 WIDESCR AN9 073 1 13 AN AJ356AA HP 12.1 DISPLAY AN9 009 1 13 AN 13290015 CARGADOR HP 1329 009 1 13 13