Innanzitutto, quando usi join
, dovresti sempre avere un on
clausola, anche se MySQL non lo richiede. Se vuoi un cross join
, quindi sii esplicito al riguardo.
Secondo, non usi tm_markets
tabella nella query. Non è necessario, quindi rimuovilo.
La query risultante dovrebbe funzionare:
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
Perché stai scegliendo un solo prodotto, un group by
probabilmente non è necessario. Potresti considerare questo, tuttavia:
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`
Ciò restituirà le informazioni per tutti i prodotti.