mysql连接查询应该从2个或3个表中检索结果

mysql连接查询应该从2个或3个表中检索结果,mysql,Mysql,我有三张桌子。 产品表名称:pc_产品 id_product|id_merchant|product_name|product_category 123 flipkart glass1 sunglass 456 flipkart glass2 sunglass 126 snapdeal polo1 sunglass 486 snapdeal

我有三张桌子。 产品表名称:pc_产品

id_product|id_merchant|product_name|product_category
123         flipkart     glass1          sunglass  
456         flipkart     glass2          sunglass
126         snapdeal     polo1           sunglass  
486         snapdeal     polo1           sunglass 
主键:id\u商户

商户表名称:pc_商户

slug |  retailer
flipkart     Flipkart
snapdeal     Snapdeal
唯一键:产品表的slug和外键

折扣表:折扣

id|merchant| percentage|category_name
1  flipkart      5         sunglass
2  snapdeal      10        sunglass
预期结果:当我根据产品的商户和产品类别选择任何产品时,百分比应返回

告诉我是否需要在作为外键的表之间进行任何更改。 我使用的查询是:

select feed_product_name,id_merchant,category_name,percentage 
from pc_products_merchants m,pc_products p  
where m.slug = p.id_merchant and product_name LIKE '%glass1';
在这个查询中,我还想使用上述3个表,根据零售商和类别检索该产品的百分比

SELECT pc_products.*, pc_merchants.retailer, discount.percentage
FROM pc_products 
JOIN pc_merchants ON pc_products.id_merchants = pc_merchants.slug 
JOIN discount ON pc_products.product_category = discount.category_name 
    AND pc_products.id_merchant = discount.merchant
WHERE product_name LIKE '%glass1'

此查询使用显式联接。隐式的不再使用。表之间的关系在FROM语句中声明,其中仅用于过滤数据

您应该在查询中使用显式连接而不是隐式连接。请编写显式连接或隐式连接的查询。我不知道这个查询是用不同的百分比5和10检索同一条记录两次。这意味着零售商snapdeal的价值为5和10。我只想给snapdeal零售商10%的折扣。你应该对我的答案发表评论,而不是你的问题。。。无论如何,请查看查询的更新版本。我已经在商户上添加了加入条件,这样它将对类别和寻找折扣的商户进行过滤。非常感谢。这个问题很有效。我感谢你的合作。