Usuário com melhor resposta
Retornar valor minimo em Select

Pergunta
-
Olá,
Tenho duas tabelas, como exemplo abaixo:
Tabela 1 Tabela 2
idProduto Item Preco idProduto Item Preco
1 shampo 1 shampo 60,00
1 condicionador 1 condicionador 50,00
2 Null 1 gel 40,00
2 pente 30,00
2 pente 20,00
Faço uma comparação de forma a retornar da tabela2, os dados da tabela1, onde eles tem correspondência única nas colunas idProduto, Item e quando a coluna Item é nula, mas há dados na tabela2 referente ao idProduto. O resultado esperado seria este:
Tabela Resultado
idProduto Item Preco
1 shampo 60,00
1 condicionador 50,00
2 pente 40,00
2 pente 30,00
Estou usando a query abaixo para fazer isto, porém gostaria que no caso acima, no caso de resultado com o mesmo Item e idProduto, retornasse a linha com o menor preço que no caso seria: 2 pente 30,00.
Alguém saberia como inserir a função Min nesta query que estou usando, pois já tentei e deu erro:
SELECT a.idProduto, a.Item, a.Preco
From [Compras].[dbo].[teste] a
join [" & produtos.user & "].[dbo].[" & produtos.lista & "] b on
a.idProduto = b.idProduto AND b.Item = '')
Obrigado!
goku
Respostas
-
Boa tarde,
Experimente dessa forma:
SELECT a.idProduto, a.Item, MIN(a.Preco) as Preco From [Compras].[dbo].[teste] a join [" & produtos.user & "].[dbo].[" & produtos.lista & "] b on a.idProduto = b.idProduto AND b.Item = '' group by a.idProduto, a.Item
Espero que ajude.
Assinatura: http://www.imoveisemexposicao.com.br
- Sugerido como Resposta Alexandre Matayosi terça-feira, 5 de março de 2013 20:27
- Marcado como Resposta songoku99 quarta-feira, 6 de março de 2013 03:41
-
Boa tarde!
Segue o código conforme entendimento de sua duvida. Espero ter ajudado.
SELECT tb1.idProduto, MIN(tb2.Preco) as Preco, tb2.item FROM Table_1 tb1 RIGHT OUTER JOIN Table_2 tb2 ON tb1.idProduto = tb2.idProduto GROUP BY tb1.idProduto,tb2.item
- Sugerido como Resposta Alexandre Matayosi terça-feira, 5 de março de 2013 20:27
- Marcado como Resposta songoku99 quarta-feira, 6 de março de 2013 03:41
Todas as Respostas
-
Boa tarde,
Experimente dessa forma:
SELECT a.idProduto, a.Item, MIN(a.Preco) as Preco From [Compras].[dbo].[teste] a join [" & produtos.user & "].[dbo].[" & produtos.lista & "] b on a.idProduto = b.idProduto AND b.Item = '' group by a.idProduto, a.Item
Espero que ajude.
Assinatura: http://www.imoveisemexposicao.com.br
- Sugerido como Resposta Alexandre Matayosi terça-feira, 5 de março de 2013 20:27
- Marcado como Resposta songoku99 quarta-feira, 6 de março de 2013 03:41
-
Boa tarde!
Segue o código conforme entendimento de sua duvida. Espero ter ajudado.
SELECT tb1.idProduto, MIN(tb2.Preco) as Preco, tb2.item FROM Table_1 tb1 RIGHT OUTER JOIN Table_2 tb2 ON tb1.idProduto = tb2.idProduto GROUP BY tb1.idProduto,tb2.item
- Sugerido como Resposta Alexandre Matayosi terça-feira, 5 de março de 2013 20:27
- Marcado como Resposta songoku99 quarta-feira, 6 de março de 2013 03:41
-
Olá Goku!
Verifique as duas respostas feitas pelos nossos amigos e não esqueça de marca-las como resposta, caso tenha sido válido para você! Muito importante para que a comunidade continue evoluindo!
Att,
Felipo Gonçalves
Microsoft Contingent Staff- Editado Felipo Gonçalves terça-feira, 5 de março de 2013 20:25
-
-