Ver Mensaje Individual
  #4 (permalink)  
Antiguo 14/12/2016, 09:56
Avatar de Libras
Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Como puedo hacer esta consulta?

Tomando como ejemplo las tablas que tienes hice lo siguiente:

Código SQL:
Ver original
  1. CREATE TABLE #ventas
  2. (
  3. id_venta INT,
  4. fecha_venta DATE
  5. )
  6.  
  7. CREATE TABLE #pedidos
  8. (
  9. id_pedido INT,
  10. id_producto INT,
  11. id_venta INT,
  12. cantidad INT
  13. )
  14.  
  15. CREATE TABLE #productos
  16. (
  17. id_producto INT,
  18. id_categoria INT,
  19. precio INT
  20. )
  21.  
  22. CREATE TABLE #categorias
  23. (
  24. id_categoria INT,
  25. descripcion Nvarchar(20)
  26. )
  27.  
  28.  
  29. INSERT INTO #ventas VALUES (1,getdate())
  30. INSERT INTO #ventas VALUES (2,dateadd(dd,1,getdate()))
  31.  
  32.  
  33. INSERT INTO #pedidos VALUES (1,1,1,10)
  34. INSERT INTO #pedidos VALUES (2,1,1,4)
  35. INSERT INTO #pedidos VALUES (3,2,2,5)
  36. INSERT INTO #pedidos VALUES (4,1,2,3)
  37.  
  38. INSERT INTO #productos VALUES (1,1,8)
  39. INSERT INTO #productos VALUES (2,2,10)
  40.  
  41.  
  42. INSERT INTO #categorias VALUES (1,'Tacos')
  43. INSERT INTO #categorias VALUES (2,'Bebidas')
  44.  
  45.  
  46. SELECT SUM(total) AS total_categoria, descripcion, fecha_venta FROM(
  47. SELECT t2.id_pedido, t2.cantidad*t3.precio AS total, t4.descripcion, t1.fecha_venta
  48. FROM #ventas AS t1
  49. INNER JOIN #pedidos AS t2 ON (t1.id_venta=t2.id_venta)
  50. INNER JOIN #productos AS t3 ON (t2.id_producto=t3.id_producto)
  51. INNER JOIN #categorias AS t4 ON (t3.id_categoria=t4.id_categoria)
  52. ) AS completa GROUP BY descripcion,fecha_venta

Y con ese query obtengo esto:

total_categoria descripcion fecha_venta
112 Tacos 2016-12-14
50 Bebidas 2016-12-15
24 Tacos 2016-12-15


Que es lo que necesitas no???
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me