Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Hugo Anselmo

[Resolvido] Resultado da Consulta em linhas

Recommended Posts

Tenho uma tabela Produtos:

 

Estabelecimento |Produto |Status

---------------------------------------

99123456 |Carro |01

99123456 |Moto |01

99123456 |Barco |02

99134567 |Moto |01

99134567 |Barco |01

99145678 |Carro |01

99156789 |Carro |01

 

 

Montei a consulta abaixo:

Select estabelecimento,
(case when produto='carro' then 'Sim'
  when produto<>'carro' then 'Não' end) as Carro,
(case when produto='moto' then 'Sim'
  when produto<>'moto' then 'Não' end) as Moto,
(case when produto='barco' then 'Sim'
  when produto<>'barco' then 'Não' end) as Barco
from produtos

 

 

A Necessidade:

Preciso que o resultado seja assim

 

estabelecimento |carro |moto |barco

---------------------------------------

99123456 |Sim |Sim |Sim

99134567 |Não |Sim |Sim

99145678 |Sim |Não |Não

99156789 |Sim |Não |Não

 

 

 

O Problema:

o Resultado fica assim

 

estabelecimento |carro |moto |barco

---------------------------------------

99123456 |Sim |Não |Não

99123456 |Não |Sim |Não

99123456 |Não |Não |Sim

99134567 |Não |Sim |Não

99134567 |Não |Não |Sim

99145678 |Sim |Não |Não

99156789 |Sim |Não |Não

 

Já tentei usar o distinct sem sucesso.

Compartilhar este post


Link para o post
Compartilhar em outros sites
SELECT estabelecimento,
      (CASE WHEN CARRO > 1 THEN 'SIM' ELSE 'NAO' END) CARRO,
      (CASE WHEN MOTO > 1 THEN 'SIM' ELSE 'NAO' END) MOTO,
      (CASE WHEN BARCO > 1 THEN 'SIM' ELSE 'NAO' END) BARCO
FROM
(
Select estabelecimento,
SUM(case when produto='carro' then 1
         when produto<>'carro' then 0 end) as Carro,
SUM(case when produto='moto' then 1
         when produto<>'moto' then 0 end) as Moto,
SUM(case when produto='barco' then 1
         when produto<>'barco' then 0 end) as Barco
from produtos
GROUP BY estabelecimento
)

Compartilhar este post


Link para o post
Compartilhar em outros sites

SELECT estabelecimento,
      (CASE WHEN CARRO > 1 THEN 'SIM' ELSE 'NAO' END) CARRO,
      (CASE WHEN MOTO > 1 THEN 'SIM' ELSE 'NAO' END) MOTO,
      (CASE WHEN BARCO > 1 THEN 'SIM' ELSE 'NAO' END) BARCO
FROM
(
Select estabelecimento,
SUM(case when produto='carro' then 1
         when produto<>'carro' then 0 end) as Carro,
SUM(case when produto='moto' then 1
         when produto<>'moto' then 0 end) as Moto,
SUM(case when produto='barco' then 1
         when produto<>'barco' then 0 end) as Barco
from produtos
GROUP BY estabelecimento
)

 

Cara....é simplesmente isso que preciso, funcionou da forma que necessito.

 

Agradecido

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.