Erstens, wenn Sie join
verwenden , sollten Sie immer einen on
haben -Klausel, obwohl MySQL dies nicht erfordert. Wenn Sie einen cross join
wünschen , dann sei explizit.
Zweitens verwenden Sie nicht die tm_markets
Tabelle überhaupt in der Abfrage. Es wird nicht benötigt, also entfernen Sie es.
Die resultierende Abfrage sollte funktionieren:
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
Weil Sie nur ein Produkt auswählen, ein group by
ist wohl nicht nötig. Sie könnten jedoch Folgendes in Betracht ziehen:
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`
Dadurch werden die Informationen für alle Produkte zurückgegeben.