Først når du bruger join
, bør du altid har en on
klausul, selvom MySQL ikke kræver dette. Hvis du ønsker en cross join
, så vær eksplicit om det.
For det andet bruger du ikke tm_markets
tabel overhovedet i forespørgslen. Det er ikke nødvendigt, så fjern det.
Den resulterende forespørgsel burde virke:
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
Fordi du kun vælger ét produkt, en group by
er nok ikke nødvendigt. Du kan dog overveje dette:
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`
Det vil returnere oplysningerne for alle produkter.