sql关联表查询结果并插入

这里涉及三个表,AA,BB,CC,将AA的数据更新到CC表中,将AA中LABEL_ID分别截取字段与BB表中的label_id对应查询到LABEL_NAME作为CC表的一个字段插入,这里分成四段查询

insert into CC

select T.apmac,T1.LABEL_NAME,T2.LABEL_NAME,T3.LABEL_NAME,T4.LABEL_NAME,T.LABEL_ID,‘杭州‘

from(select a.AP_MAC as apmac,a.LABEL_ID ,substr(a.label_id,3,2)as level1,substr(a.label_id,5,2)as level2,

substr(a.label_id,7,3)as level3,substr(a.label_id,10,3)as level4 from AA a) T,

(select * from BB where label_level=‘一级‘)T1,

(select * from BB where label_level=‘二级‘)T2,

(select * from BB where label_level=‘三级‘)T3,

(select * from BB where label_level=‘四级‘)T4

WHERE T1.LABEL_ID=T.level1 and T2.LABEL_ID=T.level2 and T3.LABEL_ID=T.level3 and T4.LABEL_ID=T.level4

时间: 2024-11-13 06:52:26

sql关联表查询结果并插入的相关文章

MyBatis-----4.实现关联表查询

前面几节都是单表查询,但是实际中一定会用到多表关联查询,本节将介绍关联表查询的实现 1.一对一关联 1.1创建数据表和添加数据 CREATE TABLE teacher( t_id INT PRIMARY KEY AUTO_INCREMENT, t_name VARCHAR(20) ); CREATE TABLE class( c_id INT PRIMARY KEY AUTO_INCREMENT, c_name VARCHAR(20), teacher_id INT ); ALTER TABL

MyBatis学习总结(五)——实现关联表查询(转载)

孤傲苍狼 只为成功找方法,不为失败找借口! MyBatis学习总结(五)--实现关联表查询 一.一对一关联 1.1.提出需求 根据班级id查询班级信息(带老师的信息) 1.2.创建表和数据 创建一张教师表和班级表,这里我们假设一个老师只负责教一个班,那么老师和班级之间的关系就是一种一对一的关系. 1 CREATE TABLE teacher( 2 t_id INT PRIMARY KEY AUTO_INCREMENT, 3 t_name VARCHAR(20) 4 ); 5 CREATE TAB

#3 SQL多表查询

经验: 1,where 和having的区别? where是用于原始字段的过滤, having主要用于聚合函数的汇总过滤,虽然这个原始字段也是可以用的,但是不推荐,因为效率比where低 所以尽量少用having,能不用尽量不用(where 能实现的having 都能实现,但是效率低 ) 2,count(*)和count(字段名)的差别 第一个会输出全部的行,,而第二个如果遇到为Null的,就不会数出来, 3,还有一个要注意的.如果 我要查询一个   hehe_haha   ,hehe_xixi

#4 SQL 多表查询、子查询

今天讲了一个SQL的多表查询和子查询 笔记里面有挺多有用的图片,重要是为了方便了解外连接和内连接,还有自连接等... 这里显示不出来,所以放一个链接, 到有道云笔记去看:http://note.youdao.com/share/?id=90f107b6a6aac379a795373f7f98c6ff&type=note 多表查询和子查询的关系? 多表查询可以做到的,子查询都可以做到,子查询思路比较符合正常人的思路,但是代码稍微长一点 多表查询 |--内部链接查询 : select * from

sql多表查询之一:Where 和 On的秘密

原文 sql多表查询之一:Where 和 On的秘密 对于还在SQL初级阶段的朋友来说,sql多表查询问题是一个比较有趣也容易出错的技术.什么时候会用到sql多表查询呢?是在两张或两张以上表单中通过某几个字段进行互联管理的时候,这就不得不说说sql多表查询中Where 和 On的秘密. 在了解sql多表查询中Where 和 On的秘密之前,让我们先来温习一下连接基础吧 按列a把两表连接,请问各种连接方式的结果的结果? 语法呢? 左    select * from @a Aa left join

sql将一个表中的数据插入到另一个表中

列名不一定要相同,只要你在HH中列出要插入列的列表跟select   from   mm表中的选择的列的列表一一对应就可以了,当然两边的数据类型应该是兼容的. 比如: insert   into   hh   (fielda,fieldb,fieldc)   select   fieldx,fieldy,fieldz   from   mm ---更新计量点中不存在的数据,将台帐中的信息转移到计量点中 insert into MetricPoints (MeterID,MetricPointNa

Oracle--树形自关联表查询SQL

平时会经常用到自关联的树形结构表来存储树形结构的数据,数据之间的层次联系代表着树形结构中的父子关系,并通常用表中两个列间的联系来描述,如下表中ID 和 PARENT_ID,ID为家族成员编号,PARENT_ID为父母编号,从而可以形成一个树形结构的家族关系. 一.基本用法 基本语句:select ··· from ··· connect by prior ··· start with ··· order siblings by ··· 如家族树的表查询语句为: select * from fam

Mybatis关联表查询_5

使用Mybatis实现关联查询,分为一对一和一对多两种情况,最后并对ResultMap进行一个简要说明. 创建表和数据 创建教师表,班级表,学生表, 假设一个老师只负责教一个班,那么老师和班级之间的关系是一对一的关系. 假设一个班级有多个学生,那么班级和学生之间的关系是一对多的关系. CREATE TABLE teacher( t_id number(5) PRIMARY KEY, t_name VARCHAR2(20) ); CREATE TABLE class( c_id number(5)

mybatis 关联表查询

这段时间由于项目上的需求:需要将数据库中两表关联的数据查询出来展示到前端(包含一对一,一对多): (1)一对一: 在实体类中维护了另一个类的对象: 这里我以用户(User)和产品(Product)为例:其中get和set的方法我就没有生成了,请自行生成: 实体类: public class User { private String id; private String name; private String password; private Product product; } publi