首页 > 数据库 >1个表A多个字段a,b,关联另一个表B的一个字段c,并取出B表的d字段,如何写sql

1个表A多个字段a,b,关联另一个表B的一个字段c,并取出B表的d字段,如何写sql

时间:2024-04-14 21:44:23浏览次数:19  
标签:POINT SECTION 数据表 字段 个表 sql ID road

方式有两种,第一种如下:

A数据表中多个字段对应B数据表的ID,

现在要把B表的其他字段一起查询出来

一、数据表:

 1、SPEED_DETECTION_ROAD


一、数据表:

 1、SPEED_DETECTION_ROAD

 

它的 START_POINT_ID 和 END_POINT_ID字段对应下面表的ID,

2、SECTION_INFO:

 

二、sql语句

SELECT
section1.SECTION_NAME AS sectionStart,
section2.SECTION_NAME AS sectionEND
FROM A表 AS road
inner join B表 AS section1
on road.START_POINT_ID = section1.SECTION_ID
inner join B表 AS section2
on road.END_POINT_ID = section2.SECTION_ID

思路:

SPEED_DETECTION_ROAD表有两个字段是SECTION_INFO表的ID,因此,Inner Join 数据表SECTION_INFO两次(join方式看业务)

三、查询结果

 

方法二:

sql:  其实就是嵌套子查询实现的。

SELECT   road.road_name,
(select SECTION_NAME from  B表 where road.START_POINT_ID =  b.SECTION_ID ) as  sectionStart,
(select SECTION_NAME from  B表 where road.END_POINT_ID =  b.SECTION_ID) as  sectionEND
        FROM A表 AS road

 

参考文章:https://blog.csdn.net/weixin_36013896/article/details/122403107

标签:POINT,SECTION,数据表,字段,个表,sql,ID,road
From: https://www.cnblogs.com/isme-zjh/p/18134752

相关文章

  • MySQL概述以及MySQL的安装以及启动
    一、数据库的相关概念数据库Database,简称DB。按照一定的数据结构来组织、存储和管理数据的仓库。数据库管理系统DatabaseManagementSystem,一种操纵和管理数据库的大型软件,用于创建、使用和维护数据库,简称DBMS。  关系型数据库(RDBMS)概念:关系型数据库,是建立在关系模型......
  • 子查询 (SQL Server)
    Learn  SQL 使用英语阅读添加  子查询(SQLServer)项目2023/09/0412个参与者反馈 本文内容子查询基础知识子查询规则在子查询中限定列名多层嵌套显示另外3个适用于:SQLServerAzureSQL数据库AzureSQL托管实例AzureSynapseAnalytic......
  • mysql中文全文索引的记录
    在MySQL5.7.6之前,全文索引只支持英文全文索引,不支持中文全文索引,需要利用分词器把中文段落预处理拆分成单词,然后存入数据库。从MySQL5.7.6开始,MySQL内置了ngram全文解析器,用来支持中文、日文、韩文分词。创建示例--创建表格CREATETABLEarticles(idINTAUTO_INCREME......
  • Mysql - 什么是三大范式(通俗详解)
    Mysql-什么是三大范式(通俗详解)高月之风关于数据的一切我都喜欢。​关注他 218人赞同了该文章​展开目录 Hello~我是高月!我将会在这篇文章中用通俗易懂的话为你简单说明什么是Mysql的三大范式。如果喜欢这篇文章,请点赞、关注......
  • Ubuntu下离线安装PostgreSQL
      首先,我的环境是Ubuntu20.04  如果是在线安装,根据官网的介绍很简单#安装包sudoaptupdatesudoaptinstallwgetgnupg#导入仓库sudosh-c'echo"debhttps://apt.postgresql.org/pub/repos/apt$(lsb_release-cs)-pgdgmain">/etc/apt/......
  • Mybatis.xml中何时需要写ResultMap映射,什么时候需要给字段设置别名呢
    日常开发中,我们需要在mybatis.xml文件中,将数据库的查询结果映射到实体类中,那何时需要给字段起别名,何时不需要呢?总是不太清晰,接下来梳理记录一下。 至于一般什么时候,使用resultMap,一版什么时候使用别名呢,如果实体的每个字段都和数据库中的字段名称是不一样的,那一般就采用的是R......
  • 如何解决node.js运行mysql报错?
    首先检查mysql客户端的密码是否正确正确后提示我没有安装mysql模板 在文件目录终端下输入cnpminstall-gmysql进行安装这时候运行还是显示错误上网搜了一下说是登录数据库的客户端跟mysql8.0不兼容了,mysql8.0密码认证采用了新的密码格式[解决方法]打开命令管理器进入m......
  • 在MyBatis中,可以使用以下动态SQL标签来编写灵活的SQL语句
    一、<if>:条件判断标签,用于在SQL语句中添加条件判断。通过判断给定的条件是否成立,决定是否包含相应的SQL片段。示例:<selectid="getUserList"resultType="User">SELECT*FROMuser<where><iftest="username!=null">ANDusername=#{userna......
  • MySQL 函数
    汇总函数rolluprollup是SQL关键字,在MySQL中得用withrollup。它是groupby子句的扩展,用于统计后增加一行汇总数据。举例,现有库存表,我们按仓库名称分组,统计每个仓库的产品总量,最后来一个汇总。mysql>SELECT*FROMinventory;+----+---------------+---------+----------......
  • 在centos7下面,安装mysql,并设置 用户名为henry
    好的,以下是在CentOS7下安装MySQL并完成你所要求的操作的详细步骤:1.**安装MySQL**:首先,使用`yum`包管理器安装MySQL:sudoyuminstallmysql-server 2.**启动MySQL服务**:安装完成后,启动MySQL服务:sudosystemctlstartmysqld 3.**设置MySQL开机自启......