Advertisement
Guest User

Untitled

a guest
Sep 16th, 2019
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.03 KB | None | 0 0
  1. with
  2. dados_geral as (
  3. select
  4. idfilial,
  5. idfilialsaldo,
  6. filialfantasia,
  7. filialsaldofantasia,
  8. idgrupopreco,
  9. idcodigonbm,
  10. idcodigonbm,
  11. idproduto,
  12. idgradex,
  13. gradex,
  14. idgradey,
  15. gradey,
  16. iddepartamento,
  17. descricao,
  18. codigofabricante,
  19. customedio,
  20. coalesce(idpromocao, 0) as idpromocao,
  21. precovenda,
  22. precosistema,
  23. percentualdesconto,
  24. idmarca,
  25. marca,
  26. lpad(cast(idproduto as varchar),6,'0') || lpad(cast(idgradex as varchar),4,'0') || '01180.jpg' as imagem,
  27. idmenu,
  28. idsubmenu,
  29. idfiltro,
  30. menu,
  31. submenu,
  32. filtro,
  33. thumbs,
  34. datahoramovimentothumbs,
  35. prazofinal,
  36. bnds as bndes,
  37. rank() over (partition by idproduto, idgradex order by rank)
  38. from
  39. --b2b.pwsearch_cache(:uf, :search, :idmenu, :idsubmenu, :idfiltro, :idmarca, :idproduto, :idgradex , :idtipocontribuinte, :idtipopessoa, :tipoinfo, 75, :idcnpj_cpf, :idpromocao)
  40. b2b.pwsearch_cache('PR', '', 0,0,0,0,0,0,1,2 ,0,75,0, '99')
  41. where
  42. 1=1
  43. and idproduto not in (920019)
  44.  
  45.  
  46. -- order by está sendo feito dentro da pwsearch
  47. ),
  48. marcas as (
  49. select '['||string_agg(row_to_json(tb)::varchar,',')||']' as marcas
  50. from (
  51. select
  52. distinct on (1,2)
  53. idmarca,
  54. marca
  55. from dados_geral
  56. ) tb
  57. ),
  58. filiais as (
  59. select '['||string_agg(row_to_json(tb)::varchar,',')||']' as filiais
  60. from (
  61. select
  62. distinct on (1,2)
  63. idfilial,
  64. idfilialsaldo,
  65. filialfantasia,
  66. filialsaldofantasia,
  67. idfilial::varchar||idfilialsaldo::varchar as keyfilial
  68. from dados_geral
  69. ) tb
  70. ),
  71. menus as (
  72. select '['||string_agg(row_to_json(tb)::varchar,',')||']' as menus
  73. from (
  74. select
  75. distinct on (1,2)
  76. idmenu,
  77. menu
  78. from dados_geral
  79. ) tb
  80. ),
  81. submenus as (
  82. select '['||string_agg(row_to_json(tb)::varchar,',')||']' as submenus
  83. from (
  84. select
  85. distinct on (1,2)
  86. idsubmenu,
  87. submenu
  88. from dados_geral
  89. ) tb
  90. ),
  91. dados as (
  92. select
  93. distinct on (idproduto, idgradex)
  94. *
  95. from dados_geral dg
  96. join marcas m on true
  97. join filiais f on true
  98. join menus me on true
  99. join submenus sm on true
  100. where
  101. 1=1
  102. --and dg.idfilial = 10222
  103.  
  104. ),
  105. count_dados as (
  106.  
  107. select
  108. d.*,
  109. count (d.*) over () as totalderegistros
  110. from dados d
  111. )
  112.  
  113. select
  114. cd.*
  115. from count_dados cd
  116.  
  117. order by cd.precovenda asc
  118. offset 0 LIMIT 16
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement