Primeiro, quando você usa
join
, você deve sempre tem um on
cláusula, mesmo que o MySQL não exija isso. Se você deseja uma cross join
, então seja explícito sobre isso. Segundo, você não usa o
tm_markets
tabela em tudo na consulta. Não é necessário, então remova-o. A consulta resultante deve funcionar:
SELECT MIN(`map`.`Product_Price`) as `minProductPrice`,
MAX(`map`.`Product_Price`) as `maxProductPrice`,
`pr`.`Product_Name` as `productName`
FROM `bm_market_products` `map` join
`bm_products` as `pr`
on map`.`Product_Id` = `pr`.`Product_Id`
WHERE `map`.`Product_Id` = 1
Como você está escolhendo apenas um produto, um
group by
provavelmente não é necessário. Você pode considerar isso, no entanto:SELECT MIN(`map`.`Product_Price`) as `minProductPrice`,
MAX(`map`.`Product_Price`) as `maxProductPrice`,
`pr`.`Product_Name` as `productName`
FROM `bm_market_products` `map` join
`bm_products` as `pr`
on map`.`Product_Id` = `pr`.`Product_Id`
group by `map`.`Product_Id`
Isso retornará as informações de todos os produtos.