我有如下一张表,要求将当前年是同一年且公司ID相同的数据合并为一条SQL语句显示
当前年 数据年份 收入1 收入2 收入3 公司ID
2015 2015 12 34 23 111
2015 2013 23 24 53 111
2015 2014 24 5 25 111
2015 2014 25 152 242 222
2015 2013 525 235 23 222
2015 2015 5346 253 25 222
2014 2013 2535 42 25 111
2014 2014 42 14 14 111
2014 2012 42 42 14 144
我要的结果
当前年 数据年份 收入1 收入2 收入3 数据年份 收入1 收入2 收入3 公司ID
2014 2012 42 42 14 2013 2535 42 25 111
2015 2013 23 24 53 2014 24 5 25 111
2015 2013 525 235 23 2014 25 152 242 222
select t.CURRENT_YEAR,t.YEAR,t.INCOME1,t.INCOME2,t.INCOME3,
t1.YEAR,t1.INCOME1,t1.INCOME2,t1.INCOME3,t1.ORG_ID
from tt t inner join tt t1
on t.CURRENT_YEAR = t1.CURRENT_YEAR and t.ORG_ID = t1.ORG_ID
and t.YEAR != t1.YEAR
and t.YEAR < t1.YEAR
where t.YEAR < t.CURRENT_YEAR
and t1.YEAR < t.CURRENT_YEAR
分享到:
相关推荐
### SQL实现两张无关联表的数据列合并在一张结果集中 #### 实现思路及技术要点解析 在实际工作中,我们经常会遇到需要将两张无关联表的数据列合并到一个结果集中的需求。这种操作可以帮助我们更好地组织数据,使得...
在Sql Server中进行多行合并成一行,并做分组统计的需求,可以通过两种主要方法实现。首先,需要创建一个测试表并插入数据,以供后续操作。以下是创建测试表和插入数据的SQL语句: ```sql CREATE TABLE test(code ...
在SQL Server中,经常会遇到需要将不同的字段进行组合或转换的情况,比如将分别存储年、月、日的三个字段合并成一个日期格式的字符串。这种需求在实际应用中非常常见,尤其是在处理历史遗留数据或者特定格式的数据时...
在MySQL中,有时候我们需要将一个表中多条记录的单个字段值合并成一条记录,以便于数据分析或者简化展示。这种需求通常出现在我们想要聚合某些特定字段的数据时。本篇文章将详细讲解两种方法来实现这一目标,以示例...
这两种方法的核心在于`FOR XML PATH('')`,它会把查询结果组合成一个XML元素的字符串,每个元素都是一个用户名后面跟着一个逗号。然后,我们利用`STUFF`或`LEFT`和`SUBSTRING`来处理首字符的逗号,以达到最终的分隔...
- **WMSYS.WM_CONCAT**:将多个字符串合并成一个。 - **LISTAGG**:将多个字符串值组合成一个字符串,可以指定分隔符。 - **COLLECT**:收集多个值到一个集合中。 - **CONNECT BY**:利用层次查询实现字符串连接。 -...
14. **项目编译成应用程序**:编译项目会将所有相关文件合并成一个应用程序文件,因此A选项正确。 15. **DB、DBS和DBMS的关系**:DBS包括DB和DBMS,所以A选项正确。 16. **"选项"对话框的"文件位置"选项卡**:可以...
Oracle 中实现行转列功能,并使用逗号进行隔开拼接,成为一条数据是指将多行数据合并成一行数据,并用逗号分隔每个字段的值。这种功能在实际应用中非常有用,例如在报表生成、数据分析和数据整合等场景中。 在 ...
将多个简单、无关联的数据库访问整合成一个复合查询,可以减少数据库连接和断开的成本,提高效率。 ##### 3.7 删除重复记录 定期清理数据库中的重复记录,不仅可以节省存储空间,还可以提高查询性能。 ##### 3.8 ...
10.2.5 将子查询因子化应用到PL/SQL中 270 10.3 递归子查询 273 10.3.1 一个CONNECT BY的例子 274 10.3.2 使用RSF的例子 275 10.3.3 RSF的限制条件 276 10.3.4 与CONNECT BY的不同点 276 10.4 复制CONNECT BY...
多行模式的优点在于,它可以将多个记录合并成一条INSERT语句,减少与数据库的交互次数,从而提高性能。但请注意,当数据量过大时,单个INSERT语句可能会超出SQL Server的最大尺寸限制,这时可能需要调整`@...
然而,使用 DB2 Merge 语句,我们可以将这两个操作合并成一个语句,从而提高效率并减少潜在的并发问题: ```sql MERGE INTO EMPLOYE AS EM USING MANAGER AS MG ON (EM.EMPLOYEID = MG.MANAGERID) WHEN MATCHED ...
在SQL中,有时我们需要将一行数据的多个值转换为列显示,或者将多个字符串拼接成一个。这通常通过函数如`CONCAT`,`STRING_AGG`(在某些数据库系统中)或者自定义的存储过程来实现。 "20100308_组合键唯一_字符串...
比如,将两个独立的SELECT语句合并成一个,或者避免使用游标,改用一次性获取所有数据的查询,都能提升性能。 5. **利用DECODE函数**: DECODE函数用于简化条件判断,避免重复扫描或连接操作。它可以减少处理时间...
这种操作通常在数据处理时非常有用,特别是当需要将多列数据合并成一列,或者进行复杂的报表生成时。 描述中提到的“分组求和列变成行”可能是指在对数据进行分组后,将各组的求和结果转换成行。例如,如果有表格...
字符串连接操作会将两个字符串合并成一个。 5. INSERT 语句 `INSERT INTO stu (sex, name, age) VALUES ('', '张三', 21)` 执行后的结果是(A)执行成功,sex, name, age 的值分别是:男,张三,21。因为 `sex` 列有...
找到匹配项后,将两条记录组合成一个新的结果元组。这种方法适用于小表与大表的连接,或者当连接条件非常具体时。 2. **排序合并法 (SORT-MERGE)**:适用于等值连接,先对两个表的连接字段进行排序,然后通过比较...
把数据库表的两个列合并成一个列 Fill 进 DataSet 里 在 SQL Server 中,可以简单地使用 `+` 运算符来连接两个字段。例如: ```sql SELECT col1 + col2 FROM table ``` 而在 Oracle 中,可以使用 `||` 运算符: ...