Първо, когато използвате join
, трябва винаги имат on
клауза, въпреки че MySQL не изисква това. Ако искате cross join
, след което бъдете изрични за това.
Второ, не използвате tm_markets
таблица изобщо в заявката. Не е необходимо, така че го премахнете.
Получената заявка трябва да работи:
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
Тъй като избирате само един продукт, group by
вероятно не е необходимо. Може обаче да помислите за това:
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`
Това ще върне информацията за всички продукти.