求两个表相差
来源:互联网 发布:java 8实战 pdf 编辑:程序博客网 时间:2024/05/10 03:20
例表名:A,B,A列名x1,y1,z1 B列名x2,y2,z2
A
x1 y1 z1
hh 1 1
jj 2 2
hh 3 3
B
x2 y2 z2
hh 1 1
jj 1 1
hh 1 1
求SQL语句 ,使A,B表相同字段先求和,再A,B相同字段,相减,
使得查询结果如下:谢谢。
C
x3 y3 z3
hh 2 2
jj 1 1
A
x1 y1 z1
hh 1 1
jj 2 2
hh 3 3
B
x2 y2 z2
hh 1 1
jj 1 1
hh 1 1
求SQL语句 ,使A,B表相同字段先求和,再A,B相同字段,相减,
使得查询结果如下:谢谢。
C
x3 y3 z3
hh 2 2
jj 1 1
- SQL code 1:
select isnull(m.x1 , n.x2) x3 , isnull(m.y1 , 0) - isnull(n.y2,0) y3, isnull(m.z1 , 0) - isnull(n.z2,0) z3from( select x1 ,sum(y1) y1, sum(z1) z1 from a group by x1) mfull join( select x2 ,sum(y2) y2, sum(z2) z2 from b group by x2) non m.x1 = n.x2
验证如下:
SQL code 1:
create table a(x1 varchar(10) , y1 int , z1 int)insert into a values('hh', 1 ,1)insert into a values('jj', 2 ,2)insert into a values('hh', 3 ,3)create table b(x2 varchar(10) , y2 int , z2 int)insert into b values('hh', 1 ,1)insert into b values('jj', 1 ,1)insert into b values('hh', 1 ,1)goselect isnull(m.x1 , n.x2) x3 , isnull(m.y1 , 0) - isnull(n.y2,0) y3, isnull(m.z1 , 0) - isnull(n.z2,0) z3from( select x1 ,sum(y1) y1, sum(z1) z1 from a group by x1) mfull join( select x2 ,sum(y2) y2, sum(z2) z2 from b group by x2) non m.x1 = n.x2drop table a , b/*x3 y3 z3 ---------- ----------- ----------- hh 2 2jj 1 1(所影响的行数为 2 行)*/
--另外一种方法.
SQL code 2:
create table a(x1 varchar(10) , y1 int , z1 int)insert into a values('hh', 1 ,1)insert into a values('jj', 2 ,2)insert into a values('hh', 3 ,3)create table b(x2 varchar(10) , y2 int , z2 int)insert into b values('hh', 1 ,1)insert into b values('jj', 1 ,1)insert into b values('hh', 1 ,1)goselect x1 x3, sum(y1) y3 , sum(z1) z3 from(select x1 , y1 , z1 from aunion allselect x2 x1 , -y2 y1 , -z2 z1 from b) tgroup by x1drop table a , b/*x3 y3 z3 ---------- ----------- ----------- hh 2 2jj 1 1(所影响的行数为 2 行)*/
- 求两个表相差
- 求两个日期相差天数
- oracle求两个日期之间相差天数
- 求两个时间的相差月份
- SQL Server中 求两个指定日期的相差天数
- 两个时间数据求它的相差小时,分钟等等
- /* 求任意两个日期之间相差的天数 */
- 求两个日期之间相差几个月零几天
- C++求两个日期之间的相差天数
- 算法:输入两个日期,求之间相差了多少天
- php 求两个日期之间相差的天数(函数)
- C# 字符串转换成日期,两个日期值比较大小,求两个日期相差天数
- 两个日期相差天数
- 计算两个日期相差
- 两个时间相差天数
- sql编程中求两个日期之间相差天数准确写法
- 在使用MinutesBetween求两个时间之间相差多少分钟的问题
- 笔试:求二叉树中相差最大的两个节点间的差值绝对值
- JSTL <c:out value="${EL}">不能正确输出的问题
- [翻译]高德纳(Knuth)谈计算机程序设计艺术(上)
- Android中铃声总结【安卓源码解析一】
- 导出EXCEL数字显示为科学计数法的问题
- 上传文件细节处理问题
- 求两个表相差
- Windows下的命令编译与Makefile
- 网页词汇
- Hadoop 学习笔记
- C#导出EXCEL显示乱码的问题
- 从 Linux 内核访问用户空间内存
- PHP基础教程-算法
- SQL SERVER语句积累
- 静态二叉排序树