Hola a todos.
Tengo una consulta a la que pasándole el ID de un producto, me saque
ciertos campos de la tabla Productos, además de los 2 ó 3 niveles de
categorización.
Cuando el producto está en una categoría con 3 niveles, la consulta
que os expongo más abajo me funciona correctamente, pero cuando el
producto pertenece a una categoría que sólo tiene dos niveles de
categorización, no da resultados.
Sé por qué no da resultado, es obvio habiendo montado la consulta como
la he montado, pero me gustaría saber cómo arreglar esta consulta para
que funcione con productos pertenecientes a categorías de 3 niveles y
pertenecientes a 2 niveles de categorización.
select
p.idproducto as ItemID,
d.nombre as Nombre,
upper(dbo.ReplaceCaracteres(d.nombre)) as NombreCorrecto,
p.ref as RefID,
upper(dbo.ReplaceCaracteres(Nivel1.nombre)) as CategoriaNivel1,
upper(dbo.ReplaceCaracteres(Nivel2.nombre)) as CategoriaNivel2,
upper(dbo.ReplaceCaracteres(Nivel3.nombre)) as CategoriaNivel3
from
new_productos as p,
new_productosd as d,
new_categorias as Nivel3
JOIN
new_categorias as Nivel2
ON
Nivel3.Parent=Nivel2.idcategoria
JOIN
new_categorias as Nivel1
ON
Nivel2.parent=Nivel1.idcategoria
where
p.idcategoria=Nivel3.idcategoria and
p.idproducto=d.idproducto and
p.idproducto!75
Muchas gracias por vuestra ayuda.
Leer las respuestas