Först, när du använder join
, bör du alltid ha en on
klausul, även om MySQL inte kräver detta. Om du vill ha en cross join
, var då tydlig om det.
För det andra använder du inte tm_markets
tabell överhuvudtaget i frågan. Det behövs inte, så ta bort det.
Den resulterande frågan bör fungera:
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
Eftersom du bara väljer en produkt, en group by
är förmodligen inte nödvändigt. Du kan dock överväga detta:
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 kommer att returnera informationen för alla produkter.