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

Como selecionar a linha com o produto com menor valor, onde os produtos tem vários valores ?


Bruno Murad

Pergunta

Olá, estou com o seguinte problema e ainda não consegui resolver. 

Tenho uma tabela em um banco de dados MySql onde tenho vários produtos.  

Esses produtos possuem várias colunas com valores. Algumas dessas colunas podem estar vazias (0, ou null)

Gostaria de gerar uma query onde eu possa buscar a linha com id do produto com o menor valor entre todos os produtos e todas as colunas de preço.

Vou exemplificar abaixo:

ID = 1 | PRODUTO A |  VALORES => 5, 0, 6, 8, 9
ID = 2 | PRODUTO B | VALORES => 8, 1, 0, 0, 4
ID = 3 | PRODUTO C | VALORES => 2, 9, 8, 5, 0

Preciso pegar a linha com ID = 2, pois ele tem o menor valor (1) excluindo os zeros e nulls.

Alguém pode me ajudar ? Desde já agradeço !!! 

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Obrigado ao Amigo Emerson Nascimento do Forum DevMedia que me ajudou na resolução dessa dúvida. 
Segue a query funcionando perfeitamente abaixo: 

SELECT id, prod, min(CONTEUDO) VALOR FROM
(
    SELECT id , prod, 'Val1' CAMPO, Val1 CONTEUDO FROM tabela WHERE coalesce(Val1,0) > 0 UNION ALL
    SELECT id , prod, 'Val2' CAMPO, Val2 CONTEUDO FROM tabela WHERE coalesce(Val2,0) > 0 UNION ALL
    SELECT id , prod, 'Val3' CAMPO, Val3 CONTEUDO FROM tabela WHERE coalesce(Val3,0) > 0 UNION ALL
    SELECT id , prod, 'Val4' CAMPO, Val4 CONTEUDO FROM tabela WHERE coalesce(Val4,0) > 0 UNION ALL
    SELECT id , prod, 'Val5' CAMPO, Val5 CONTEUDO FROM tabela WHERE coalesce(Val5,0) > 0
) TAB
GROUP BY id, prod
ORDER BY CONTEUDO LIMIT 1
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...