Advertisement
Guest User

Untitled

a guest
Sep 16th, 2019
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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('PR', '', 0,0,0,0,  0,0, 1,2 ,0,75,0, '99')
  40.             where
  41.             1=1
  42.             and idproduto not in (920019)
  43.                                
  44.                                
  45.         -- order by está sendo feito dentro da pwsearch
  46. ),
  47. marcas as (
  48.     select '['||string_agg(row_to_json(tb)::varchar,',')||']' as marcas
  49.     from (
  50.       select
  51.           distinct on (1,2)
  52.           idmarca,
  53.           marca
  54.       from dados_geral
  55.     ) tb
  56. ),
  57. filiais as (
  58.     select '['||string_agg(row_to_json(tb)::varchar,',')||']' as filiais
  59.     from (
  60.         select
  61.           distinct on (1,2)
  62.           idfilial,
  63.           idfilialsaldo,
  64.           filialfantasia,
  65.           filialsaldofantasia,
  66.           idfilial::varchar||idfilialsaldo::varchar as keyfilial
  67.         from dados_geral
  68.     ) tb
  69. ),
  70. menus as (
  71.     select '['||string_agg(row_to_json(tb)::varchar,',')||']' as menus
  72.     from (
  73.         select
  74.           distinct on (1,2)
  75.           idmenu,
  76.           menu
  77.         from dados_geral
  78.     ) tb
  79. ),
  80. submenus as (
  81.     select '['||string_agg(row_to_json(tb)::varchar,',')||']' as submenus
  82.     from (
  83.         select
  84.           distinct on (1,2)
  85.           idsubmenu,
  86.           submenu
  87.         from dados_geral
  88.     ) tb
  89. ),
  90. dados as (
  91.     select
  92.     distinct on (idproduto, idgradex)
  93.         *
  94.     from dados_geral dg
  95.     join marcas m on true
  96.     join filiais f on true
  97.     join menus me on true
  98.     join submenus sm on true
  99.     where
  100.       1=1
  101.       --and dg.idfilial = 10222
  102.                          
  103. ),
  104. count_dados as (
  105.  
  106.     select
  107.         d.*,
  108.             count (d.*) over () as totalderegistros
  109.         from dados d
  110. )
  111.  
  112. select
  113.     cd.*
  114. from count_dados cd
  115.                    
  116. order by cd.precovenda asc
  117.  offset 0 LIMIT 16
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement