Ir para conteúdo

POWERED BY:

Arquivado

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

fabiorogeriob

SELECT RETORNANDO A MESMA COLUNA MAIS DE UMA VEZ

Recommended Posts

Boa tarde Pessoal...

 

 

Estou com uma dúvida tremenda e não estou conseguindo sair desta enrrascada!

Tenho o SELECT abaixo onde faço JOIN em 3 tabelas, porém uma delas a de imagens retorna mais de uma linha, pois dependendo do produto, pode possuir mais de uma imagem.

 

Gostaria que o retorno ocorresse apenas em uma linha, porém com a quantidade de colunas, retornando o nome da imagem, variando de acordo com a aquantidade de imagens do produto.

 

Hoje este SELECT repete os mesmos dados de um determinado produto em 5 linhas por exemplo, a mesma quantidade de imagens deste produto. Como retornar apenas uma linha com 5 colunas de imagem?

 

 

 

 

 

SELECT TESTE.PRODUTO.cd_produto,
TESTE.PRODUTO.Referencia,
TESTE.PRODUTO.Descricao,
TESTE.PRODUTO.Aplicacao,
TESTE.COMPLEMENTO.Cd_detalhe,
TESTE.IMAGEM.Historico,
TESTE.IMAGEM.tipo_imagem,
TESTE.PRODUTO.Status

FROM TESTE.IMAGEM
INNER JOIN TESTE.PRODUTO ON TESTE.IMAGEM.cd_produto = TESTE.PRODUTO.cd_produto
INNER JOIN TESTE.COMPLEMENTO ON TESTE.PRODUTO.cd_produto = TESTE.COMPLEMENTO.cd_produto


WHERE (TESTE.PRODUTO.Status = 'A')
AND (TESTE.PRODUTO.cd_produto = '4455')
AND (TESTE.IMAGEM.tipo_imagem = 'LOGO')

 

 

Ele está retornando:

 

Cd_produto Descricao Aplicacao imagem tipo_imagem Tipo

4455 Limpador de Vidros Pruduto para limpeza LOGO01.JPG LOGO ATIVO 4455 Limpador de Vidros Pruduto para limpeza LOGO02.JPG LOGO ATIVO 4455 Limpador de Vidros Pruduto para limpeza LOGO03.JPG LOGO ATIVO

4455 Limpador de Vidros Pruduto para limpeza LOGO04.JPG LOGO ATIVO

 

 

E gostaria que retornasse:

 

 

Cd_produto Descricao Aplicacao imagem1 imagem2

 

imagem3 imagem4 tipo_imagem Tipo

 

4455 Limpador de Vidros Pruduto para limpeza LOGO01.JPG LOGO02.JPG

 

LOGO03.JPG LOGO04.JPG LOGO ATIVO

 

 

 

Como fazer isto?

 

 

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

select distinct a.* from (
SELECT TESTE.PRODUTO.cd_produto,
       TESTE.PRODUTO.Referencia,
       TESTE.PRODUTO.Descricao,
       TESTE.PRODUTO.Aplicacao,
       TESTE.COMPLEMENTO.Cd_detalhe,                     
       TESTE.IMAGEM.Historico,
       TESTE.IMAGEM.tipo_imagem,
       TESTE.PRODUTO.Status
       
FROM   TESTE.IMAGEM
         INNER JOIN    TESTE.PRODUTO ON TESTE.IMAGEM.cd_produto = TESTE.PRODUTO.cd_produto
         INNER JOIN    TESTE.COMPLEMENTO ON TESTE.PRODUTO.cd_produto = TESTE.COMPLEMENTO.cd_produto
         
       
WHERE     (TESTE.PRODUTO.Status = 'A')
      AND (TESTE.PRODUTO.cd_produto = '4455')
      AND (TESTE.IMAGEM.tipo_imagem = 'LOGO')
) a

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.