Pertama, ketika Anda menggunakan join
, Anda harus selalu memiliki on
klausa, meskipun MySQL tidak memerlukan ini. Jika Anda ingin cross join
, lalu jelaskan secara eksplisit.
Kedua, Anda tidak menggunakan tm_markets
tabel sama sekali dalam kueri. Itu tidak diperlukan, jadi hapus.
Kueri yang dihasilkan seharusnya berfungsi:
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
Karena Anda hanya memilih satu produk, group by
mungkin tidak diperlukan. Namun, Anda mungkin mempertimbangkan ini:
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`
Itu akan mengembalikan informasi untuk semua produk.