Ten eerste, wanneer u join
. gebruikt , moet u altijd heb een on
clausule, hoewel MySQL dit niet vereist. Als je een cross join
. wilt , wees er dan expliciet over.
Ten tweede gebruikt u de tm_markets
. niet tabel helemaal niet in de query. Het is niet nodig, dus verwijder het.
De resulterende zoekopdracht zou moeten werken:
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
Omdat je maar één product kiest, een group by
is waarschijnlijk niet nodig. Je zou dit echter kunnen overwegen:
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`
Dat retourneert de informatie voor alle producten.