mysql连接查询应该从2个或3个表中检索结果
我有三张桌子。 产品表名称:pc_产品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
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%的折扣。你应该对我的答案发表评论,而不是你的问题。。。无论如何,请查看查询的更新版本。我已经在商户上添加了加入条件,这样它将对类别和寻找折扣的商户进行过滤。非常感谢。这个问题很有效。我感谢你的合作。