Advertisement
rovann

Untitled

Mar 19th, 2018
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. select
  2.     empresa,
  3.     email,
  4.     obrigacao
  5. from (
  6.         select
  7.             total.empresa,
  8.             total.email,
  9.             total.obrigacao,
  10.             (case when
  11.                 (coalesce(local.empresa,'') = ''
  12.                  and coalesce(ws.empresa,'') <> '')
  13.                  and (coalesce(local.email,'') = ''
  14.                  and coalesce(ws.email,'') <> '')
  15.                  and (coalesce(local.obrigacao,'') = ''
  16.                  and coalesce(ws.obrigacao,'') <> '')
  17.             then -1
  18.             else 0
  19.             end) as resultado  
  20.             from ('alguma query'
  21.            
  22.             union  
  23.            
  24.             select
  25.                 usu.empresa,
  26.                 usu.email,
  27.                 emp.obrigacao  
  28.             from admusuariosempresassistemasitensportal usu  
  29.             join (
  30.                 select
  31.                     aoe.empresa,
  32.                     aoe.obrigacao,
  33.                     ao.sistema  
  34.                 from (
  35.                     select
  36.                         empresa,
  37.                         obrigacao
  38.                     from admcontroleadministrativo
  39.                     where empresa =
  40.                         and obrigacao =
  41.                         and obrigacaoextra = -1
  42.                     group by empresa, obrigacao
  43.                      ) aoe  
  44.                 join admobrigacoes ao on ao.obrigacao = aoe.obrigacao  
  45.                 group by aoe.empresa, aoe.obrigacao, ao.sistema) emp on emp.empresa = usu.empresa
  46.                                                                      And emp.sistema = usu.sistema
  47.                  ) total
  48.             left join (
  49.                     select
  50.                         cast('LOCAL' as varchar) as origem,
  51.                         a.empresa,
  52.                         a.email,
  53.                         a.obrigacao  
  54.                     from (
  55.                         select
  56.                             usu.empresa,
  57.                             usu.email,
  58.                             emp.obrigacao  
  59.                         from admusuariosempresassistemasitensportal usu  
  60.                         join (
  61.                             select
  62.                                 aoe.empresa,
  63.                                 aoe.obrigacao,
  64.                                 ao.sistema  
  65.                             from (
  66.                                 select
  67.                                     empresa,
  68.                                     obrigacao
  69.                                 from admcontroleadministrativo
  70.                                 where empresa =
  71.                                 and obrigacao =
  72.                                 and obrigacaoextra = -1
  73.                                 group by empresa, obrigacao) aoe  
  74.                             join admobrigacoes ao on ao.obrigacao = aoe.obrigacao  
  75.                             group by aoe.empresa, aoe.obrigacao, ao.sistema) emp on emp.empresa = usu.empresa
  76.                                                                                 And emp.sistema = usu.sistema) a) local on local.empresa = total.empresa
  77.                                                                                                                         And local.email = total.email
  78.                                                                                                                         And local.obrigacao = total.obrigacao
  79.                         left join (outra query) ws on ws.empresa = total.empresa
  80.                                                     And ws.email = total.email
  81.                                                     And ws.obrigacao = total.obrigacao) r  
  82. where r.resultado = -1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement