Primero, cuando usas join
, deberías siempre tener un on
cláusula, aunque MySQL no requiere esto. Si desea una cross join
, luego sé explícito al respecto.
En segundo lugar, no utiliza los tm_markets
tabla en absoluto en la consulta. No es necesario, así que quítelo.
La consulta resultante debería 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
Porque solo está eligiendo un producto, un group by
probablemente no sea necesario. Sin embargo, puede considerar esto:
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`
Eso devolverá la información de todos los productos.