SQL合并数据
--CREATE TABLE TMaterial (PMaterial INT,FName NVARCHAR(32))
--INSERT INTO TMaterial
--SELECT 1,'A' UNION ALL
--SELECT 2,'B' UNION ALL
--SELECT 3,'C'
--CREATE TABLE TOrderIN (FCode NVARCHAR(32),FAmount INT,KMaterial INT)
--INSERT INTO TOrderIN
--SELECT 'i001',10,1 UNION ALL
--SELECT 'i002',10,1 UNION ALL
--SELECT 'i003',10,2
--CREATE TABLE TOrderOut(FCode NVARCHAR(32),FAmount INT,KMaterial INT)
--INSERT INTO TOrderOut
--SELECT 't001',20,1 UNION ALL
--SELECT 't002',20,2 UNION ALL
--SELECT 't003',20,2 UNION ALL
--SELECT 't004',20,3
--GO
SELECT PMaterial,FName,MAX(inCode) AS inCode,MAX(inAmount) AS inAmount,MAX(outCode) AS outCode,MAX(outAmount) AS outAmount FROM
(
SELECT ROW_NUMBER() OVER(PARTITION BY PMaterial ORDER BY PMaterial) AS GB,PMaterial,FName,FCode AS inCode,FAmount AS inAmount,NULL AS outCode,NULL AS outAmount FROM dbo.TMaterial
LEFT JOIN dbo.TOrderIN ON PMaterial = KMaterial
UNION ALL
SELECT ROW_NUMBER() OVER(PARTITION BY PMaterial ORDER BY PMaterial) AS GB,PMaterial,FName,NULL AS inCode,NULL AS inAmount,FCode AS outCode,FAmount AS outAmount FROM dbo.TMaterial
LEFT JOIN dbo.TOrderOut ON PMaterial = dbo.TOrderOut.KMaterial
) AS T GROUP BY GB,T.PMaterial,T.FName ORDER BY T.PMaterial
SQL合并数据的更多相关文章
- (Sql Server)数据的拆分和合并
(Sql Server)数据的拆分和合并 背景: 今天遇到了数据合并和拆分的问题,尝试了几种写法.但大致可分为两类:一.原始写法.二.Sql Server 2005之后支持的写法.第一种写法复杂而且效 ...
- 数据库合并数据sql
1.sql2000中只能用自定义的函数解决 )) , 'aa') , 'bb') , 'aaa') , 'bbb') , 'ccc') go )) ) as begin ) select @str = ...
- [SQL]合并字符串
--带符号合并行列转换 --有表t,其数据如下: /* a b 1 1 1 2 1 3 2 1 2 2 3 1 --如何转换成如下结果: a b 1 1,2,3 2 1,2 3 1 */ drop t ...
- SQL Server 复制 - 发布订阅(SQL Server 数据同步)
原文:SQL Server 复制 - 发布订阅(SQL Server 数据同步) SQL Server的同步是通过SQL Server自带的复制工具来实现的,分发布和订阅2大步. A,复制-发布 发布 ...
- 通过 sqldf 包使用 SQL 查询数据框
在前面的章节中,我们学习了如何编写 SQL 语句,在关系型数据库(如 SQLite 和MySQL )中查询数据.我们可能会想,有没有一种方法,能够直接使用 SQL 进行数据框查询,就像数据框是关系型数 ...
- 【HANA系列】SAP HANA SQL合并多行操作
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA SQL合并多行 ...
- AngularJS SQL 获取数据
使用PHP从MySQL中获取数据: <!DOCTYPE html> <html> <head> <meta charset="utf-8" ...
- Visual Basic 2012 借助DataGridView控件将SQL server2012 数据导入到Excel 2010
摘 要: SQL Server 2012 数据和Excel 2010之间的连接和数据的传输,本篇文章主要针对的是SQL Server 2012 数据导入到Excel 2010文件中.Excel软件对 ...
- SQL server数据缓存依赖
SQL server数据缓存依赖有两种实现模式,轮询模式,通知模式. 1 轮询模式实现步骤 此模式需要SQL SERVER 7.0/2000/2005版本以上版本都支持 主要包含以下几 ...
随机推荐
- it-tidalwave-semantic-aux-1.0.13.jar下载
今天来给大家分一下一下自己认为还是挺不错的jar包下载网址,it-tidalwave-semantic-aux-1.0.13.jar,作为java开发人员可能时时刻刻都在跟jar包打交道,即使这会用不 ...
- 数据挖掘学习指引<一>
对于当前热门的大数据.云计算等技术,被百度.阿里等国内互联网巨头炒的非常火,数据挖掘作为一门非常有用的技术,在商业管理.市场分析.科学计算等大数据方面发挥着大作用. 数据挖掘技术也变得非常火,why? ...
- java泛型通配符?
转自:http://www.linuxidc.com/Linux/2013-10/90928.htm T 有类型 ? 未知类型 一.通配符的上界 既然知道List<Cat>并不是Lis ...
- JUnit 3.8 通过反射测试私有方法
测试私有(private)的方法有两种: 1)把目标类的私有方法(修饰符:private)修改为(public),不推荐,因为修改了源程序不佳 2)通过反射 (推荐) 代码演示: 目标程序 Priva ...
- SpringMVC中使用-sqljdbc4.jar
昨天将现在写的Web项目中的数据库由MySQL换成SQLServer,昨天想把MySQL重新安装一下,但是由于不明原因,导致无法安装. 卸载MySQL.删除安装文件.删除注册表.重启电脑.但是安装的时 ...
- alarm 和 sleep
http://blog.sina.com.cn/s/blog_6a1837e90100uhl3.html alarm也称为闹钟函数,alarm()用来设置信号SIGALRM在经过参数seconds指定 ...
- JavaWeb request对象常用操作
JavaWeb request对象常用操作 CreateTime--2018年6月1日16点47分 Author:Marydon 一.前提 import javax.servlet.http.Ht ...
- 纯CSS实现蜂窝六边形的个性相册
概述 纯CSS实现蜂窝六边形的个性相册 详细 代码下载:http://www.demodashi.com/demo/12804.html 此案例主要用到CSS3的 transform 和 transi ...
- UVA1492 - Adding New Machine(扫描线)
UVA1492 - Adding New Machine(扫描线) option=com_onlinejudge&Itemid=8&page=show_problem&cate ...
- 【linux】Linux查看各类日志
Log位置: /var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一 /var/log/secure 与安全相关的日志信息 /var/log/ma ...