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版本以上版本都支持 主要包含以下几 ...
随机推荐
- C# 网络斗地主源码开源
C# 网络斗地主源码开源多线程 讨论交流及 下载地址 可以发送聊天消息
- [Compose] 9. Delay Evaluation with LazyBox
We rewrite the Box example using lazy evaulation. Here is Box example: const Box = (x) => ({ map: ...
- 移动端HTML5框架
一:移动端HTML5框架 http://jquerymobile.com/jQuery Mobile http://jqtjs.com/jQTouch http://www.sencha.com/pr ...
- 全栈project师体能备战--知识面(10--20)
WCF Windows Communication Foundation(WCF)是由微软开发的一系列支持数据通信的应用程序框架,能够翻译为Windows 通讯开发平台. 对于 WCF 的client ...
- 完整的JavaScript版的信用卡校验代码
function isValidCreditCard(type, ccnum) { if (type == "Visa") { // Visa: length 16, prefix ...
- bzoj-1492 货币兑换Cash (2)——CDQ分治
题意: 略 见上一篇 题解: 方程还是那个方程f[i]=A[i] * X[j] + B[i] * Y[j]. 化简为Y[i]=(-A[i]/B[i]) * X[i] + f[i]/B[i]这一坨: 既 ...
- JSP,PHP,Python,Ruby,Perl概要及各自特点
JSP,PHP,Python,Ruby,Perl概要及各自特点 博客分类: JSP PHP Python Ruby Perl概要及各自特点 javascript 互联网技术日新月异,编程的语言层出不 ...
- 【Redis】windows环境下安装redis服务器,并配置php的redis扩展
win7示例: 1.下载Redis服务器 : https://github.com/dmajkic/redis/downloads:(随便下,建议不要太老的) 2.在D:\phpStudy\ 新建Re ...
- Zoie中文文档及简单解析
https://linkedin.jira.com/wiki/pages/viewpage.action?pageId=4456480 一.总体架构 Zoie是一个实时的搜索引擎系统,其需要逻辑上独立 ...
- Android中TextView内容过长加省略号
textview中有个内容过长加省略号的属性,即ellipsize,用法如下: 在xml中 Android:ellipsize = "end" 省略号在结尾 and ...