使用 INNER JOIN 连接 MySQL 中的多个表
使用 MySQL 等关系数据库时,连接表允许您从多个表中检索数据基于公共列的表。本教程将指导您完成连接三个表的过程:orders、products_pricing 和 products。
问题陈述
检索与特定用户相关的产品并包含每个产品的超链接,需要加入第四个表(列表)。但是,当前查询从列表中返回重复记录。
解决方案
要解决此问题,请修改查询如下:
SELECT p.id, p.name, l.url, o.user_id, o.pricing_id FROM orders AS o INNER JOIN products_pricing AS pp ON o.pricing_id = pp.id INNER JOIN products AS p ON pp.product_id = p.id INNER JOIN listings AS l ON l.user_id = o.user_id WHERE o.user_id ='7' AND l.id = 233 AND l.url = 'test.com';
说明:
输出
对于提供的示例数据,更新后的查询返回:
| 33 |测试产品 |测试.com | 7 | 37 |
此输出包括用户 ID 7 的特定用户的产品 ID、名称、列表 URL、用户 ID 和定价 ID。
以上是MySQL中如何高效连接四个表以避免重复记录?的详细内容。更多信息请关注PHP中文网其他相关文章!