Ir para conteúdo
Fórum Script Brasil
  • 0

Consulta que resulte em uma coluna p/ 1º, uma p/ 2º e uma p/ 3º


FokaMLK

Pergunta

Fala pessoas!

Td certo?

Estou com uma dúvida, tenho em meu banco de dados a seguinte tabela:

VENDA

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

ID_VENDENDOR | ID_PRODUTO | PREÇO

1 | 1 | 11,50

2 | 1 | 10,50

3 | 1 | 9,50

4 | 1 | 15,50

1 | 2 | 22,50

2 | 2 | 10,50

3 | 2 | 30,50

4 | 2 | 40,50

Quero fazer uma consulta que retorne por produto o 1º, 2º e 3º menor preço e seu vendedor, um exemplo de resultado seria:

RESULTADO

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

ID_PRODUTO | 1_PRECO | 1_VENDEDOR | 2_PRECO | 2_VENDEDOR | 3_PRECO | 3_VENDEDOR

1 | 9,50 | 3 | 10,50 | 2 | 11,50 | 1

2 | 10,50 | 2 | 22,50 | 1 | 30,50 | 3

Entenderam?

Agradeço pelas respostas desde já.

Att,

Fernando

Editado por FokaMLK
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0
você pode pegar o top 3 pela ordenacao decrescente e fazer varios UNION ALL.

Como por exemplo?

Ontem pensando um pouco mais eu achei que poderia fazer com uma view criada em tempo de execução (aquele select * from (select x from y) view_temp.

Ordenando de forma crescente (do menor pro maior)

e depois pegando o rownum = 1, rownum =2 e rownum =3

Vou tentar fazer isso e posto o resultado.

Obrigado,

Fernando

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...