Ayuda con una query

26/03/2007 - 18:11 por Masta | Informe spam
A ver, os explico.

Tengo una tabla de categorías y subcategorías con los siguientes
campos

TABID - NOMBRE - PARENT

donde en el parent se indica 0 para las categorías, o el tabid de la
categoría si lo que hay es una subcategoría.

El caso es que en una tabla Carro guardo IDs de productos, y necesito
que cuando hago una consulta para listar los productos de un
determinado ID de Carro me devuelva en la fila, además del nombre del
producto, el nombre de la categoría y el nombre de la subcategoría a
la que pertenece el producto.

Ejemplo:

La subcategoría "Plato", pertenece a la categoría "Cocina".
1 - Cocina - 0
2 - Platos - 1

El producto "Plato sopero" con ID 10 tiene como categoría 2, es decir,
pertenece a "Platos"

Carro
IDCarro - IDProducto - Cantidad - Precio
1 - 10 - 1 - 20,99

Hago un select para que me devuelva el contenido del Carro con ID=1.
Obtengo fácilmente el nombre del producto, cantidad y subcategoría
("Platos"), pero, ¿cómo puedo obtener en la misma consulta el nombre
de la categoría ("Cocina") a la que pertenece?

Muchas gracias por vuestra ayuda.
 

Leer las respuestas

#1 Javier Loria
26/03/2007 - 19:49 | Informe spam
Hola Masta:
Depende un poco de si la cantidad de niveles es conocida o no. En tu
caso,los niveles son unicamente categorias y subcategorias?
Todos los productos son asociados a una sub-categoria y nunca a una
categoria?
Si la respuesta es si a ambas entonces la consulta puede ser:
=SELECT ...
FROM Productos
FROM CategoriasSubCategorias AS SubCategorias
ON Productos.IDCarro=SubCategorias.TabId
JOIN CategoriasSubCategorias AS Categorias
ON SubCategorias.Parent=Categorias.TabID
= Saludos,

Javier Loria
Costa Rica (MVP)
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.

"Masta" wrote in message
news:
A ver, os explico.

Tengo una tabla de categorías y subcategorías con los siguientes
campos

TABID - NOMBRE - PARENT

donde en el parent se indica 0 para las categorías, o el tabid de la
categoría si lo que hay es una subcategoría.

El caso es que en una tabla Carro guardo IDs de productos, y necesito
que cuando hago una consulta para listar los productos de un
determinado ID de Carro me devuelva en la fila, además del nombre del
producto, el nombre de la categoría y el nombre de la subcategoría a
la que pertenece el producto.

Ejemplo:

La subcategoría "Plato", pertenece a la categoría "Cocina".
1 - Cocina - 0
2 - Platos - 1

El producto "Plato sopero" con ID 10 tiene como categoría 2, es decir,
pertenece a "Platos"

Carro
IDCarro - IDProducto - Cantidad - Precio
1 - 10 - 1 - 20,99

Hago un select para que me devuelva el contenido del Carro con ID=1.
Obtengo fácilmente el nombre del producto, cantidad y subcategoría
("Platos"), pero, ¿cómo puedo obtener en la misma consulta el nombre
de la categoría ("Cocina") a la que pertenece?

Muchas gracias por vuestra ayuda.

Preguntas similares