Advertisement
adeilsoncs

Relatório de Produtos Vendidos com Cor

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