Advertisement
adeilsoncs

Produtos vendidos sem tamanho [agrupados]

Jul 28th, 2016
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.04 KB | None | 0 0
  1. -- Produtos vendidos X Faturamento
  2. SELECT TOP 100 IdProduto,
  3. IdSetorProduto,
  4. Código_Produto as Codigo,
  5. Descrição as Descricao,
  6. Setor,
  7.  
  8. /*Preço Médio*/
  9. (case when Sum((case when Preco_Item>0 then Qtde else -1*Qtde end))<>0 then Sum(Preco_Item*Qtde)/Sum((case when Preco_Item>0 then Qtde else -1*Qtde end)) else 0 end) as Preco,
  10.  
  11. Sum((case when Preco_Item>0 then Qtde else -1*Qtde end)) as QtdeVendido,
  12.  
  13. Sum(Desconto) as Desconto,
  14. Sum(Acrescimo) as Acrescimo,
  15. Sum(Frete) as Frete,
  16. Sum(Preco_Item*Qtde)-Sum(Desconto)+Sum(Acrescimo)+Sum(Frete) as Total
  17. FROM
  18. (
  19. SELECT Estq_cadProdutos.IdProduto,
  20. Estq_cadProdutos.IdSetorProduto,
  21. Estq_cadSetores.Descricao as Setor,
  22. POV_cadPOV.Codigo as Venda,
  23. POV_cadPOV.Data,
  24. POV_cadItemPOV.Qtde,
  25. POV_cadItemPOV.Valor as Preco_Item,
  26.  
  27. /*---------------- Desconto --------------------- */
  28.  
  29. (
  30. (CASE WHEN (SELECT Sum(Valor*Qtde)-Sum(Desconto)+Sum(Acrescimo) FROM POV_cadItemPOV WHERE IdPOV=POV_cadPOV.IdPOV)<>0 THEN
  31. (((POV_cadItemPOV.Valor*POV_cadItemPOV.Qtde)-POV_cadItemPOV.Desconto+POV_cadItemPOV.Acrescimo)
  32. /
  33. (SELECT Sum(Valor*Qtde)-Sum(Desconto)+Sum(Acrescimo) FROM POV_cadItemPOV WHERE IdPOV=POV_cadPOV.IdPOV))
  34. ELSE 0 END)
  35. *POV_cadPOV.Desconto)
  36.  
  37. + POV_cadItemPOV.Desconto AS Desconto,
  38. /*----------------------------------------------- */
  39.  
  40.  
  41. /*---------------- Acréscimo --------------------- */
  42. (
  43. (CASE WHEN (SELECT Sum(Valor*Qtde)-Sum(Desconto)+Sum(Acrescimo) FROM POV_cadItemPOV WHERE IdPOV=POV_cadPOV.IdPOV)<>0 THEN
  44. (((POV_cadItemPOV.Valor*POV_cadItemPOV.Qtde)-POV_cadItemPOV.Desconto+POV_cadItemPOV.Acrescimo)
  45. /
  46. (SELECT Sum(Valor*Qtde)-Sum(Desconto)+Sum(Acrescimo) FROM POV_cadItemPOV WHERE IdPOV=POV_cadPOV.IdPOV)
  47. )
  48. ELSE 0 END)
  49. *POV_cadPOV.Acrescimo)
  50.  
  51. +POV_cadItemPOV.Acrescimo AS Acrescimo,
  52. /*----------------------------------------------- */
  53.  
  54. /*-------------------- Frete --------------------- */
  55. (
  56. (CASE WHEN (SELECT Sum(Valor*Qtde)-Sum(Desconto)+Sum(Acrescimo) FROM POV_cadItemPOV WHERE IdPOV=POV_cadPOV.IdPOV)<> 0 THEN
  57. (((POV_cadItemPOV.Valor*POV_cadItemPOV.Qtde)-POV_cadItemPOV.Desconto+POV_cadItemPOV.Acrescimo)
  58. /
  59. (SELECT Sum(Valor*Qtde)-Sum(Desconto)+Sum(Acrescimo) FROM POV_cadItemPOV WHERE IdPOV=POV_cadPOV.IdPOV)
  60. ) ELSE 0 END)
  61. *POV_cadPOV.Frete) AS Frete,
  62. /*----------------------------------------------- */
  63.  
  64. Estq_cadProdutos.Codigo as Código_Produto,
  65. Estq_cadProdutos.Descricao as Descrição,
  66.  
  67.  
  68. /*-------------------- Lucro ------------------------ */
  69. (SELECT Sum(CustoTotal)/Sum(Qtde) as CustoMedio FROM Estq_auxMovimentoEstoque
  70. WHERE Sentido=1 AND IdProduto=POV_cadItemPOV.IdProdServ)*POV_cadItemPOV.Qtde as Custo_Médio,
  71. (Estq_cadProdutos.PrecoVenda*POV_cadItemPOV.Qtde-(CASE when (SELECT Sum(Valor*Qtde)
  72. FROM POV_cadItemPOV WHERE IdPOV=POV_cadPOV.IdPOV)-
  73. (SELECT Sum(POV_cadItemPOV.Desconto) FROM POV_cadItemPOV WHERE POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)
  74. +
  75. (SELECT Sum(POV_cadItemPOV.Acrescimo) FROM POV_cadItemPOV WHERE POV_cadItemPOV.IdPOV=POV_cadPOV.IdPOV)<>0 then ((POV_cadItemPOV.Valor/(SELECT Sum(Valor*Qtde) FROM POV_cadItemPOV
  76. WHERE IdPOV=POV_cadPOV.IdPOV))*POV_cadPOV.Desconto*Qtde)+POV_cadItemPOV.Desconto else 0 end)-((SELECT Sum(CustoTotal)/Sum(Qtde) FROM Estq_auxMovimentoEstoque
  77. WHERE Sentido=1 AND IdProduto=POV_cadItemPOV.IdProdServ)*POV_cadItemPOV.Qtde)) as Lucro
  78. /*--------------------------------------------------- */
  79.  
  80. FROM (((POV_cadPOV INNER JOIN POV_cadItemPOV ON POV_cadPOV.IdPOV = POV_cadItemPOV.IdPOV)
  81. INNER JOIN Usr_cadUsuario ON Usr_cadUsuario.IdUsuario = POV_cadPOV.IdFuncionario) INNER JOIN Estq_cadProdutos ON POV_cadItemPOV.IdProdServ = Estq_cadProdutos.IdProduto)
  82. INNER JOIN Estq_cadSetores ON Estq_cadProdutos.IdSetorProduto=Estq_cadSetores.IdSetorProduto
  83.  
  84. WHERE POV_cadPOV.Tipo=3 AND POV_cadItemPOV.Tipo=1 AND POV_cadPOV.Estornado=0 ) as Consulta
  85. where
  86. --Data>=DATAINICIAL() AND Data<=DATAFINAL()
  87. Data>='20160101' AND Data<='20161201'
  88. GROUP BY Código_Produto,
  89. Descrição,
  90. Setor,
  91. IdProduto,
  92. IdSetorProduto
  93. order by Descricao DESC
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement