Za prvé, když použijete join
, měli byste vždy mít on
klauzule, i když to MySQL nevyžaduje. Pokud chcete cross join
, pak se o tom vyjadřujte explicitně.
Za druhé, nepoužíváte tm_markets
tabulky vůbec v dotazu. Není potřeba, proto jej odstraňte.
Výsledný dotaz by měl fungovat:
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
Protože vybíráte pouze jeden produkt, group by
asi není potřeba. Můžete však zvážit toto:
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`
Tím se vrátí informace o všech produktech.