GARANTIR DESCONTO

Fórum Unir selects com colunas diferentes #503886

09/12/2014

0

Boa tarde galera.

Minha dúvida é o seguinte, existe alguma forma de fazer um union de selects porem com colunas diferentes? Por ex tenho uma tabela GUIA e gostaria de saber as origens dessas guias porém essa distinção eu não consigo fazer apenas por um campo tem os filtros que trás cada informação..vou ser mais claro:


select nome, count(cod_web) from guia -> Essas guias tem origem WEB
group by nome

select nome, count(cod_guia) from guia -> Essas guias tem origem no portal
where portal is not null
group by nome

select nome, count(cod_guia) from guia -> Essas guias tem origem no desktop
where portal is null
and cod_web is null

Gostaria de fazer um union ou outa forma que apareça:

nome-web-portal-desk
Maria-2-0-1
Jose-0-1-3

Entenderam?
Utilizo Oracle 10g


Obrigado a todos.
Camilo Oliveira

Camilo Oliveira

Responder

Posts

10/12/2014

Lourival Queiroz

Vc pode utilizar o union e na junção desse unions vc faz um pivot que resolve tua situação, nas soluções apresentadas nessa sala tem vários exemplos de pivot.
Responder

Gostei + 0

10/12/2014

Camilo Oliveira

Obrigado Lourival pela resposta mas, o pivot é disponível apenas no oracle 11g não é?
Responder

Gostei + 0

10/12/2014

Lourival Queiroz

Exemplo usando o grouping rollup

select GROUPING(g.uf)                                          UF,
          sum(case when g.tipo = 1 then 0 else 1 end)  DESK,
          sum(case when g.tipo = 2 then 1 else 0 end) web,
          sum(case when g.fisjur = 'J' and g.tipo = 1 then 1 else 0 end) SAP
from emitente g
group by rollup(g.uf)
Responder

Gostei + 0

11/12/2014

Camilo Oliveira

Lourival, obrigado pela ajuda.

O exemplo que você deu resolveu meu problema.


Vaeu
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar