Ir para conteúdo

Arquivado

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

João Fernandes dos Santos

retornar Linhas em forma de Colunas

Recommended Posts

Pessoal, bom dia.

 

Estou tentando fazer uma consulta sql da seguinte forma:

 

Minha tabela esta assim

 

FORNECEDOR | FABRICANTE1 | FABRICANTE2 | FABRICANTE3

ELLUS | DOCK | POP | FILK

GASTRO | TREKS | MOINHO | FLAIR

SECUL | GIRO | POWER | NAKUR

CENIR | MOVIE | GIRO | BALCK

 

 

 

e quero deixar assim:

 

FORNECEDOR1 | FORNECEDOR2 | FORNECEDOR3 | FORNECEDOR4

ELLUS | GASTRO | SECUL | CENIR

DOCK | TREKS | GIRO |MOVIE

POP | MOINHO | POWER | GIRO

FILK | FLAIR | NAKUR | BALCK

 

 

Pesquisei bastante, tentei usar PIVOT E UNPIVOT mas como não compreendi o uso deles, pesquisei bastante. Alguêm sabe como posso fazer essa consulta?

 

 

Valeu!!!

 

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma solução "chumbada"

 

1 colune o fabricante

select fornecedor,fabricante1 fabricante
from tabela
union
select fornecedor,fabricante2 fabricante
from tabela
union
select fornecedor,fabricante3 fabricante
from tabela

2 pivoteie por case

select max(case when fornecedor = 'ellus' then fabricante else null end) ellus,
       max(case when fornecedor = 'gastro' then fabricante else null end) gastro,
       ...
from
(
select fornecedor,fabricante1 fabricante
from tabela
union
select fornecedor,fabricante2 fabricante
from tabela
union
select fornecedor,fabricante3 fabricante
from tabela
)

3 obs eu melhoraria este modelo

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.