Consulta no MySQL - Buscando menor Preço

SQL

MySQL

PHP

15/05/2017

Boa tarde, tudo bem?

Estou tendo dificuldades em criar uma consulta no banco de dados MySQL para buscar dígamos vários produtos ao mesmo tempo com seus respectivos menores preços. Por exemplo, quero consultar os produtos Pro1 e Pro2 com os códigos 5555 e 6666, já procurando qual deles tem o menor preço.

TABELA: produtos
id ---- nome ---- codigo
1 ----- Pro1 ----- 5555
2 ----- Pro2 ----- 6666
3 ----- Pro3 ----- 7777

TABELA: lojas
id ---- nome
1 ----- Dália
2 ----- Desco
3 ----- Bergamaschi

TABELA: produtos_precos
id ---- id_produto ---- preco ---- id_loja
1 ---------- 1 ----------- 29,90 ------ 1
2 ---------- 1 ----------- 25,90 ------ 2
3 ---------- 1 ----------- 23,90 ------ 3
4 ---------- 2 ----------- 32,90 ------ 1
5 ---------- 2 ----------- 35,90 ------ 2
6 ---------- 2 ----------- 43,90 ------ 3
7 ---------- 3 ----------- 12,90 ------ 1
8 ---------- 3 ----------- 13,40 ------ 2
9 ---------- 3 ----------- 15,20 ------ 3

SELECT * FROM produtos WHERE codigo IN (5555, 6666)

O SQL acima retornaria retornaria os dois produtos dos códigos citados. A pergunta é como fazer para na mesma consulta buscar o menor preço de cada produto (vindo da tabela produtos_precos).
Rafael Casanova

Rafael Casanova

Curtidas 0

Melhor post

Luiz Santos

Luiz Santos

15/05/2017

Boa noite Rafael.

O menor preço independente da loja?

Se for, é asim:



SELECT id_produto, MIN(preco) AS MENOR_PRECO
FROM produtos_precos
GROUP BY id_produto




Ai caso você queira apenas aqueles 2 produtos, você pode fazer um INNER jJOIN com a tabela produtos, e usar o seu where

WHERE codigo IN (5555, 6666)


Espero ter ajudado.

Grande abraço
GOSTEI 2

Mais Respostas

Rafael Casanova

Rafael Casanova

15/05/2017

Poxa, ajudou muito, obrigado Luiz Fernando, o engraçado que havia tentado fazer algo semelhante, só que não funcionava.

Acho que estava cometendo algum erro de sintaxe =D
GOSTEI 0
Luiz Santos

Luiz Santos

15/05/2017

Rafael.
É normal.
As vezes ficamos tão bitolados no código que é preciso alguém de fora pra mostrar um erro qualquer que estamos deixando passar.
Acontece com todo mundo, independente da linguagem.

Grande abs
GOSTEI 0
POSTAR