我正在做一個網上商店的搜索功能,並顯示結果我試圖在多個表上創建一個SQL查詢。此查詢正在執行:MySQL搜索查詢INNER JOIN限制id_image字段結果爲每個id_product
SELECT ps_product_lang.id_product , ps_product_lang.name as product_name ,
ps_product_lang.description_short,
ps_product_lang.link_rewrite as product_link_rewrite ,
ps_product_lang.meta_title , ps_product.reference ,
ps_product.id_category_default , ps_product.on_sale , ps_product.price ,
ps_category_lang.name as category_name ,
ps_category_lang.link_rewrite as category_link_rewrite , ps_image.id_image
FROM ps_product_lang
INNER JOIN ps_product
INNER JOIN ps_category_lang
ON ps_product.id_category_default=ps_category_lang.id_category
INNER JOIN ps_image
ON ps_product_lang.id_product=ps_image.id_product
WHERE ps_product_lang.name LIKE '%simone%' OR
ps_product.reference LIKE '%simone%' ORDER BY ps_product_lang.id_product ASC
在搜索結果中,我只想顯示一張圖片。但是在上面的這個查詢中,我通過所需的id_product獲得了所有的id_images。我嘗試了不同的方式來限制它:
ON ps_product_lang.id_product=ps_image.id_product = (SELECT id_image FROM ps_image LIMIT 1)
但是無論我嘗試什麼,我都沒有得到任何結果,或者我的語法錯誤。誰能給我一個正確的方向?
'ps_image'中的隨機圖像不太可能與其他'where'子句中的語言和參考條件匹配。 –