我正在做一个网上商店的搜索功能,并显示结果我试图在多个表上创建一个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'子句中的语言和参考条件匹配。 –