首页 > 数据库 > mysql教程 > MySQL中如何高效连接四个表以避免重复记录?

MySQL中如何高效连接四个表以避免重复记录?

Patricia Arquette
发布: 2024-12-19 19:49:11
原创
375 人浏览过

How to Efficiently Join Four Tables in MySQL to Avoid Duplicate Records?

使用 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';
登录后复制

说明:

  • l.id = 233 和 l.url = “test.com”是将结果限制为 ID 233 和 URL test.com 的特定列表的附加条件。
  • INNER JOIN 子句确保仅返回所有四个表中的匹配记录。

输出

对于提供的示例数据,更新后的查询返回:

|身份证 |姓名 |网址 |用户 ID | PRICING_ID |

| 33 |测试产品 |测试.com | 7 | 37 |

此输出包括用户 ID 7 的特定用户的产品 ID、名称、列表 URL、用户 ID 和定价 ID。

以上是MySQL中如何高效连接四个表以避免重复记录?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板