SQL Server - Problema con Subconsulta

   
Vista:

Problema con Subconsulta

Publicado por Julian_mdq (2 intervenciones) el 17/08/2011 04:15:35
Hola a todos, debo realizar una consulta de mediana complejidad y hasta el momento no he podido, se que debo utilizar LEFT JOIN o una subconsulta, pero todavia no he obtenido los resultados esperados.

Resumo la situación, poseo una tabla con equipos, los cuales poseen un contador de fichas, luego una tabla de ventas con su correspondiente detalle, donde se relaciona con productos (que pertenecen a una categoria donde TIPO debe ser 0) los cuales a su vez poseen un equipo al cual pertenecen. Debo obtener todos los equipos, conjuntamente con el contador que poseen y la suma de las cantidad de productos de cada equipo. Obtengo resultados parciales, si no hay ventas el equipo no aparecen, y debo obtener si no se han vendido, o sea NULL. El código es el siguiente:

SELECT EQUIPAMIENTO.COD_EQUIPO, NOMBRE_EQUIPO, CONTADOR, SUM(DETALLE.CANTIDAD)
AS Expr1
FROM CATEGORIAS INNER JOIN
PRODUCTOS ON CATEGORIAS.COD_CATEGORIA = PRODUCTOS.COD_CATEGORIA INNER JOIN
DETALLE ON PRODUCTOS.COD_PRODUCTO = DETALLE.COD_PRODUCTO INNER JOIN
EQUIPAMIENTO ON PRODUCTOS.COD_EQUIPO = EQUIPAMIENTO.COD_EQUIPO INNER JOIN
VENTAS ON DETALLE.COD_VENTA = VENTAS.COD_VENTA
WHERE CATEGORIAS.TIPO = 0 AND MONTH(FECHA) = 8
GROUP BY EQUIPAMIENTO.COD_EQUIPO, NOMBRE_EQUIPO, CONTADOR

Muchas gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Problema con Subconsulta

Publicado por Juan Manuel Cruz juanmcruz@hotmail.com (59 intervenciones) el 17/08/2011 11:20:10
Tan simple como usar un LEFT OUTER JOIN entre la tabla principal y la tabla de ventas, y un INNER JOIN entre la principal y las auxiliares.

Como sea, creo que no estás enfocando adecuadamente cual es es tu principal y cuales tus secundarias. Categorías, por ejemplo debería ser auxiliar, ya que sólo aporta una descripción de la categoría, entre otras cosas...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar