前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >sql一张表中两个字段指向同一个外键

sql一张表中两个字段指向同一个外键

作者头像
码农阿宇
发布于 2018-04-18 02:48:36
发布于 2018-04-18 02:48:36
1.6K0
举报
文章被收录于专栏:码农阿宇码农阿宇

在项目开发中遇到这么一个例子,首先产品表

tb_product

-----------------------------

id    name

1     手机

2    电脑

3     笔记本

第二张表

tb_product_chain(产品链)

------------------------------------------------------

int   product_id     parent_product_id

1       1                              2

2       1                              3

需要新建一个查询,即把表2中的product_id和parent_product_id替换为产品的name

我们可以这么操作

select   a.id,b.name,c.name

from  tb_product_chain  a

inner join tb_product  b on a.product_id=b.id

inner join tb_product c on a.parent_product_join=c.id

发现结果是

1     手机   电脑

2    手机    笔记本

达到了预期效果。

一下是我的项目中的实际操作数据

tb_product_chain

tb_product

v_product_chain

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-10-20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
实战SSM_O2O商铺_33【商品】商品编辑之Service层的实现
在完成了 Dao层的部分之后,顺其自然的我们来到了Service层,需要调用Dao层提供的操作数据库的方法。
小小工匠
2021/08/17
2140
一张900w的数据表,怎么把原先要花费17s执行的SQL优化到300ms?
有一张财务流水表,未分库分表,目前的数据量为9555695,分页查询使用到了limit,优化之前的查询耗时16 s 938 ms (execution: 16 s 831 ms, fetching: 107 ms),按照下文的方式调整SQL后,耗时347 ms (execution: 163 ms, fetching: 184 ms);
用户2781897
2020/09/28
4150
一张900w的数据表,怎么把原先要花费17s执行的SQL优化到300ms?
使用LEFT JOIN实现多表查询
最近,发现车间在使用条码打印系统打印的时候,为了打印条码,从系统生产任务单中一个一个复制到EXCEL表中,然后根据事先设置的模板进行批量打印,这种重复性的CTRL+C和CTRTL+V不但效率低,而且还容易出错。
好派笔记
2021/09/14
1.2K0
一些sql用法例子【Updating】
1、利用instr连接表做字段查询,group_concat做值的合并: create table ab(product_id int,product_name varchar(10), product_type_id varchar(10)); insert into ab values(1,'产品A','1,2'),(2,'产品B','2,3'); create table ac(product_type_id int,product_type_name varchar(10)); insert
用户1177713
2018/02/24
1.8K0
MySQL【四】---案例实战{拆分多表、外键创建等}
 然后将最大值表和原表关联【可以inner join 或者 left join   on】
汀丶人工智能
2022/12/21
1.1K0
MySQL【四】---案例实战{拆分多表、外键创建等}
SQLServer CTE 递归查询
在TSQL脚本中,也能实现递归查询,SQL Server提供CTE(Common Table Expression),只需要编写少量的代码,就能实现递归查询,递归查询主要用于层次结构的查询,从叶级(Leaf Level)向顶层(Root Level)查询,或从顶层向叶级查询,或递归的路径(Path)。
挽风
2021/04/13
1.7K0
SQLServer CTE 递归查询
MyBatis魔法堂:即学即用篇
一、前言                                          本篇内容以理解MyBatis的基本用法和快速在项目中实践为目的,遵循Make it work,better and excellent原则。 技术栈为MyBatis3.2.7+log4j1.2.17+sqlite3+jdk1.7。 二、示例                                 示例代码功能:     学校人员管理系统,对象分别为学生、教师和班级,学生与班级为多对一关系,班级与教师为
^_^肥仔John
2018/01/18
1.5K0
SQL操作四
文章目录 1. Day 04 1.1. 创建数据库和表 1.1.1. 商城建表语句 1.1.2. 员工建表语句 1.2. group by 1.3. having子句 1.4. 子查询 1.4.1. Mysql子查询 1.4.2. 总结 1.5. 关联查询 1.5.1. 笛卡尔积 1.5.2. 等值连接/内连接 1.5.2.1. 等值连接 1.5.3. 内连接 1.5.4. 总结 1.6. 左外连接 1.7. 右外连接 1.8. 案例 1.9. 总结 Day 04 创建数据库和表 商城建表语句 DROP
爱撒谎的男孩
2019/12/31
7110
提升 MySQL 性能的关键:索引规约指南
在数据库管理中,索引是提升查询性能的关键工具。对于 MySQL 小白来说,了解并掌握如何有效使用索引,是优化数据库性能的基础。本文将深入探讨 MySQL 索引的规约,通过具体的实例和建议,帮助你在实际应用中更好地利用索引,提高查询效率。
千羽
2024/07/30
1510
提升 MySQL 性能的关键:索引规约指南
MySQL中的内连接与外连接详解:基础与进阶应用
内连接实际上就是利用where子句对两种表形成的笛卡儿积进行筛选,我们前面学习的查询都是内连接,也是在开发过程中使用的最多的连接查询。
用户11286421
2025/03/28
1570
MySQL中的内连接与外连接详解:基础与进阶应用
【纯技术贴】.NETStandard FreeSql v0.0.9 功能预览
兄弟我从11月底发了神经,开启了 ORM 功能库的开发之旅,历时两个月编码和文档整理,目前预览版本更新到 v0.0.9 仍是一个初级版本,怎奈今天把 wiki 文档更新到一半,突然想写一篇文章提前向大家介绍项目。
梁规晓
2019/04/11
5750
【纯技术贴】.NETStandard FreeSql v0.0.9 功能预览
关系型数据库查询语言 SQL 和图数据库查询语言 nGQL 对比
摘要:这篇文章将介绍图数据库 Nebula Graph 的查询语言 nGQL 和 SQL 的区别。
NebulaGraph
2020/07/23
2.3K0
关系型数据库查询语言 SQL 和图数据库查询语言 nGQL 对比
记录容易忘记的方法
提取每个分类前n条记录 SELECT ID, Name, CategoryID FROM TableName AS a WHERE (ID IN (SELECT TOP (n) ID FROM TableName AS b WHERE (a.CategoryID = CategoryID))) 0、更改数据库的路径 USE master Go ALTER DATABASE tempdb MODIFY FILE (NAME = tempdev, FILE
用户1174620
2018/02/26
6200
记录容易忘记的方法
0464-如何离线分析HDFS的FsImage查找集群小文件
随着Hadoop集群数据量的增长,集群中也同时会存在大量的小文件,即文件Size比HDFS的Block Size(默认128MB)小的多的文件。Hadoop集群中存在大量的小文件对集群造成的影响如下:
Fayson
2018/12/19
3.9K1
0464-如何离线分析HDFS的FsImage查找集群小文件
如何快速融入新公司
在面对新的环境,新的岗位,新的挑战,大家难免都会有焦虑和不适应, 怎么快速度过这个适应期,迅速调整自己的心态和状态来适应新的挑战。这里从软实力和硬实力两方面来探讨。
赵云龙龙
2019/09/30
5450
如何快速融入新公司
收藏 | Mysql数据库基础-常用入门命令-干货
SQL,指结构化查询语言,全称是 Structured Query Language,是一种 ANSI(American National Standards Institute 美国国家标准化组织)标准的计算机语言,可以让我们可以处理数据库。
TCS-F
2019/04/17
1.7K0
收藏 | Mysql数据库基础-常用入门命令-干货
Spark SQL 字段血缘在 vivo 互联网的实践
有了字段间的血缘关系,便可以知道数据的来源去处,以及字段之间的转换关系,这样对数据的质量,治理有很大的帮助。
2020labs小助手
2022/04/25
1.4K0
从1到10 的高级 SQL 技巧,试试知道多少?
以正确的方式有效更新表很重要。理想的情况是当您的事务是主键、唯一整数和自动增量时。这种情况下的表更新很简单:
万能数据的小草
2024/07/23
1680
从1到10 的高级 SQL 技巧,试试知道多少?
SQL之经典SQL语句大全
经典SQL语句大全 一、基础 1、说明:创建数据库 CREATE DATABASE database-name  2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建 备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始 备份 BACKUP DATABASE pubs TO testBack  4
互联网金融打杂
2018/04/03
1.4K0
mysql sql语句大全
根据已有的表创建新表: A:create table tabnew like tabold (使用旧表创建新表) B:create table tabnew as select col1,col2… from tabold definition only 5、说明:删除新表
统计学家
2019/04/10
12.2K1
相关推荐
实战SSM_O2O商铺_33【商品】商品编辑之Service层的实现
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档