两张表并集求相同字段的和

有两张表
a b
每张表里有两个字段都是id num
a表的值
id  num   b表的值  id  num
a    5             b   15
b    10            c   20
c    15            d   20
d    20            e   30
求出两张表的结果 用一条sql
结果值
id  num
a   5
b   25
c   35
d   40
e   30

SELECT `id`, SUM(`num`) FROM (SELECT * FROM `b` UNION ALL SELECT * FROM `a` ) as new_table GROUP BY `id`

select * from b UNION ALL select * from a 先合并两张表,求并集,a,b两张表的select columns 要相同

然后通过GROUP BY 分组求和

时间: 2024-12-17 02:59:18

两张表并集求相同字段的和的相关文章

mysql高效获取两张表共同字段的交集数据

问题: 例如下面两站表A,B.A表和B表分别有5-10w数据.A表结构如下:id bid name title publisher extraB表结构如下id bid name title publisher A出版社也为很多人出版了书籍,B出版社也为很多人出版了书籍,有sql语句找出这两个出版社为那些人 共同出版书籍,用innerjoin太慢,有没有什么更好的办法? 解答一: 由于不知道你表的索引情况,至于用join还是in和exists不太好说,理论上讲,exists最快.in次之.join

两张表A和B,各有一个字段,更新时间A.MODIFIED_TM和B.MODIFIED_TM,A表为主表,更新时间不为空,但是B表更新时间可能为空,现在要取A、B两表时间最新的那个,B.MODIFIED

问题描述: 两张表A和B,各有一个字段,更新时间A.MODIFIED_TM和B.MODIFIED_TM,A表为主表,更新时间不为空,但是B表更新时间可能为空,现在要取A.B两表时间最新的那个,B.MODIFIED_TM若为空就取A.MODIFIED_TM,例如: 表A ID    MODIFIED_TM 1     2013/3/10 18:07:12 2     2013/4/10 18:07:12 3     2013/5/10 18:07:12 表B ID    MODIFIED_TM 1

mysql如果在使用多表连查时,两张或多张表出现相同的字段名的解决办法

多表查询时,mysql语句为: select a.*,b.* from 表A名 as a left join 表B名 as b on a.字段名=b.字段名; 当出现两个相同字段名字时,比如相同字段名为name,就可以a.name as aname,b,name as bname; 语句为: select a.name as aname,b.name as bname from as a left join 表B名 as b on a.字段名=b.字段名; mysql如果在使用多表连查时,两张或

使用kettle实现两张表的数据更新

请大家指教,使用的Oracle数据库作为数据源,mysql数据库做同步 1.如图所示: 拖进,表输入,插入/更新,write to log, 2.下面进入配置页面,双击”表输入“ 或是右键”编辑步骤“ 如果所示: 配置你的主数据源,就是你要从他上边更新数据的,点击”新建“或是”编辑“进行数据库配置,如图所示, 你的数据库地址ip,数据库,端口号,用户名,密码,点击”Test“进行测试连接,然后关闭进行点击,”获取查询sql语句“,如图所示: 选择你的数据源表,然后点击”确定“ 3.进行插入/更新

2016.2.13 (年初六) oracle两张表update方法

A表customers和B表tmp_cust_city有3个相同字段, customer_id,city_name,customer_type 现要根据b表更新a表 更新一个字段情况: update customers a set city_name=(select b.city_name from tmp_cust_city b where b.customer_id=a.customer_id) where exists (select 1 from tmp_cust_city b wher

SQLSERVER中如何快速比较两张表的不一样

一般来说,如何检测两张表的内容是否一致,体现在复制的时候发布端和订阅端的两端的数据上面 我这里罗列了一些如何从数据库层面来解决此类问题的方法 第一步当然就是检查记录数是否一致,否则不用想其他方法了~这里我们用两张表t1_old,t1_new来演示 方法介绍 方法一:老老实实看表结构和表记录数,弊端是根本看不到两张表的数据是否一致,只是看到表结构和记录数是否一致 --表结构: CREATE TABLE t1_old ( id int NOT NULL, log_time DATETIME DEFA

excel两张表筛选取数据

为了保证两张表数据不重复,请确保你的原数据表参考的字段无重复(如表一中姓名无重复,那么表二中便可用姓名作为查找条件). 但你的表数据700条不可能出现不重复现象,所以,你的表里面最好能有一个可以作为唯一标识的字段,如工号.ID.编号等.你在自己表中操作时,将你参考的字段与本文档里我用的姓名替换即可. 表一:sheet1=700人总表 表二:sheet2=200人花名册表 需求:表一中的工资数据取到表二对应的人名工资列中 操作: 1.选择sheet2表中,第一行人名:张一 对应的工资一的第一个单元

两张表解决用户自定义数据库之思路

开发界面选择动态块,读取其中的参数写入到表1中,如果blockname相同,则不允许加入 程序界面上四个下拉框,第一级用于选择动态块名,第二级用于选择各块中的分类 选择了动态块名后通过其ID可以查询到表2中的第二.三.四级分类,并且通过表1中id=1(假设)和字段名中含有user字样且字段值不为空来得到参数L,W,THK 从表2中取得上面得到的对应的user字段的记录,并且通过第二.三.四级分类进一步过滤,如二.三.四级分别为A.2.300X150,则最后得到的结果是表2中的第2条记录中的use

Mysql两张表相同ID匹配,输出到新表,删除旧表匹配

0x00:前言. 有两张表,一张表字段是ID-Email,另一张表字段是ID-PWD,想用SQL脚本把这两张表合并合并,因为有相同的ID才可以匹配. 0x01:示例. 一个字段ID:Email 另一个字段是ID:PWD 想要的输出就结果ID:Email:PWD 0x02:Mysql语句. 注意:因为MySQL为了安全,不允许一行执行两条语句(如:LINUX下用&&). 执行前将语句写入SQL脚本文件,文件后缀用.sql,tttt_test是数据库名. 以下是文本. CREATE TABLE