将具有相同的主键INVT_PROD_ID值,其他列值CLAUSE_MEMO,CLAUSE_TP_CD,BBCK_DT使用||进行合并,形成一条记录:
select INVT_PROD_ID,
MAX(subStr(CLAUSE_MEMO, 3)) CLAUSE_MEMO,
MAX(subStr(CLAUSE_TP_CD, 3)) CLAUSE_TP_CD,
MAX(subStr(BBCK_DT, 3)) BBCK_DT
from (SELECT INVT_PROD_ID,
sys_connect_by_path(CLAUSE_MEMO, '' || '') CLAUSE_MEMO,
sys_connect_by_path(CLAUSE_TP_CD, '' || '') CLAUSE_TP_CD,
sys_connect_by_path(BBCK_DT, '' || '') BBCK_DT
FROM (SELECT INVT_PROD_ID,
CLAUSE_MEMO,
CLAUSE_TP_CD,
BBCK_DT,
INVT_PROD_ID || rn rchild,
INVT_PROD_ID || (rn - 1) rfather
FROM (SELECT INVT_PROD_ID,
CLAUSE_MEMO,
CLAUSE_TP_CD,
BBCK_DT,
row_number() over(PARTITION BY A.INVT_PROD_ID ORDER BY A.CLAUSE_TP_CD) rn
FROM (Select CLAUSE_MEMO,
CLAUSE_TP_CD,
BBCK_DT,
INVT_PROD_ID
From V_J_B_CLAUSE
where INVT_PROD_ID In
(Select INVT_PROD_ID
From V_J_B_CLAUSE
Group By INVT_PROD_ID
Having Count(*) > 1)) A) AA) AAA
CONNECT BY PRIOR rchild = rfather
START WITH rfather LIKE '' %0 '') AAAA
group by INVT_PROD_ID
union
Select to_char(INVT_PROD_ID),
to_char(CLAUSE_MEMO),
to_char(CLAUSE_TP_CD),
to_char(BBCK_DT)
From V_J_B_CLAUSE
where INVT_PROD_ID In (Select INVT_PROD_ID
From V_J_B_CLAUSE
Group By INVT_PROD_ID
Having Count(*) = 1)
select INVT_PROD_ID,
MAX(subStr(CLAUSE_MEMO, 3)) CLAUSE_MEMO,
MAX(subStr(CLAUSE_TP_CD, 3)) CLAUSE_TP_CD,
MAX(subStr(BBCK_DT, 3)) BBCK_DT
from (SELECT INVT_PROD_ID,
sys_connect_by_path(CLAUSE_MEMO, '' || '') CLAUSE_MEMO,
sys_connect_by_path(CLAUSE_TP_CD, '' || '') CLAUSE_TP_CD,
sys_connect_by_path(BBCK_DT, '' || '') BBCK_DT
FROM (SELECT INVT_PROD_ID,
CLAUSE_MEMO,
CLAUSE_TP_CD,
BBCK_DT,
INVT_PROD_ID || rn rchild,
INVT_PROD_ID || (rn - 1) rfather
FROM (SELECT INVT_PROD_ID,
CLAUSE_MEMO,
CLAUSE_TP_CD,
BBCK_DT,
row_number() over(PARTITION BY A.INVT_PROD_ID ORDER BY A.CLAUSE_TP_CD) rn
FROM (Select CLAUSE_MEMO,
CLAUSE_TP_CD,
BBCK_DT,
INVT_PROD_ID
From V_J_B_CLAUSE
where INVT_PROD_ID In
(Select INVT_PROD_ID
From V_J_B_CLAUSE
Group By INVT_PROD_ID
Having Count(*) > 1)) A) AA) AAA
CONNECT BY PRIOR rchild = rfather
START WITH rfather LIKE '' %0 '') AAAA
group by INVT_PROD_ID
union
Select to_char(INVT_PROD_ID),
to_char(CLAUSE_MEMO),
to_char(CLAUSE_TP_CD),
to_char(BBCK_DT)
From V_J_B_CLAUSE
where INVT_PROD_ID In (Select INVT_PROD_ID
From V_J_B_CLAUSE
Group By INVT_PROD_ID
Having Count(*) = 1)
发表评论
-
table拆分
2010-09-08 14:23 794oracle: insert all when 条件1 t ... -
用户无权登录PL/SQL Dev
2010-07-27 09:25 1346[转载]http://hi.baidu.com/xxoo_0/ ... -
查询存储过程中调用表情况(oracle)
2010-07-06 14:36 2094使用下列语句可以查询存储过程中引用了哪些表. select ... -
Oracle10g的SQL正则表达式支持
2010-01-19 10:56 1458[转自:http://database.51cto.com/a ... -
sql运行效率查询(oracle)
2009-09-27 17:54 1000SELECT EXECUTIONS, DISK_ ... -
查询表结构(oracle)
2009-09-23 17:18 20491.简略: select * from ALL_TAB_COL ... -
oracle if语句
2009-05-07 14:25 11750oracle 的 if语句比较特殊,没有else if,而是使 ... -
oracle 日期相关(连载中...)
2009-04-24 13:33 9291.下周周几为哪天: 取得下周周五日期: select nex ... -
修改 sql server 排序规则
2009-03-24 17:49 5476[转载] sql排序规则 如果要是区分大小写的话,就要改变数据 ... -
sql server 用户访问权限设置
2009-03-24 10:43 12626[转载] 原文地址:http://topic.csdn.net ... -
窄表变宽表方式
2009-03-24 10:18 48691.使用decode,根据窄表某字段的值,来判断作为宽表的哪个 ... -
oracle中java类的使用
2009-03-20 16:29 939java类创建: create or replace and ... -
oracle函数整合
2009-03-10 16:18 815oracle函数: 1.方差VARIANCE 2.绝对值AB ... -
排序(oracle)
2009-03-09 12:14 825根据INVT_PROD_ID和START_DT,按照ANN_D ... -
存储过程中游标使用
2009-03-04 14:08 1128oracle: 1.静态游标 create or replac ... -
oracle表空间创建语句
2009-03-02 10:08 1904常规表空间: CREATE SMALLFILE TA ... -
查询表空间大小(oracle)
2009-02-24 16:31 2547查询一般表空间: SELECT a.tablespace_na ... -
sqlserver导出数据到excel
2009-02-23 16:09 1234使用命令: exec rms..xp_cmdshell 'b ... -
数据库操作技巧
2009-02-18 10:34 8781.临时复制表及数据(oracle): create tabl ... -
存储过程错误消息处理
2009-02-17 17:43 1063存储过程错误消息处理(放在事务回滚rollback之前): - ...
相关推荐
删除环境变量中的PATHT CLASSPATH中包含Oracle的值。 删除“开始”/“程序”中所有Oracle的组和图标。 删除所有与Oracle相关的目录,包括: C:\Program file\Oracle目录。 ORACLE_BASE目录。 C:\Documents ...
以上两个SQL中dy_dj(电压等级)及xh_bz(销户标志)两个字段都没进行索引,所以执行的时候都是全表扫描,第一条SQL的dy_dj = '1KV以下'条件在记录集内比率为99%,而xh_bz=1的比率只为0.5%,在进行第一条SQL的...
当两个表有相同字段时必须加前缀,列名前需加表名和“.”,如“s_emp.id”。 1、用法:SELECT columns,prod2,prod3<列> FROM Table1,table2<表名> 分号结束 如: select id from s_emp; select last_name,name ...
字段是表里的一列,用于保持每条记录的特定信息 1.3.2 记录 记录,也被成为一行数据,是表里的每一行 1.4 完整性的约束条件 1.4.1 实体完整性 关系模型的实体完整性在create table中用primary key约束实现,primary ...
COUNT(*|字段名) 对数据行数的统计或对某一栏有值的数据行数统计 MAX(字段名) 取得一个表格栏最大的值 MIN(字段名) 取得一个表格栏最小的值 SUM(字段名) 把数据栏的值相加 引用以上函数的方法: sql="select sum...
所以笔者觉得没有必要为了这个业务层完全独立于调用层的过高目标而去搞一个额外的隔离层,浪费了原材料不说,还将系统搞得过于复杂,相比于其它原则,"简单"始终是最大的一条原则。 getAllFile()负责获取T_FILE表...
43、删除重复数据只保留一条。 55 44、一个几千万数据,发现数据查询很慢,怎么办? 55 六、Java高级部分 56 1、java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用...
第18章 程序应用控制 483 ...0990 合并具有相同数据表结构的查询结果 575 0991 使用DataTable进行数据检索 575 0992 使用DataView对数据进行检索和排序 576 0993 使用DataSet建立DataTable明细表 576
4.1.3 在master上更新一条记录,而slave上却找不到 115 4.2 特殊情况:slave的中继日志relay-log损坏 116 4.3 人为失误 118 4.4 避免在master上执行大事务 119 4.5 slave_exec_mode参数可自动处理同步复制错误 ...
11.2.3 第一条公式----提取所有产品 179 11.2.4 按行(列)匹配 181 11.2.5 提取上次日报的日期 183 11.2.6 滚动累加 184 11.2.7 总结与思考 185 11.3 同期比 185 11.4 分组小计 185 11.4.1 问题分析 186 11.4.2 ...
EF在极限插入模式下,甚至刷新了每秒10万条写入的记录。远远超过了其他框架。 一个初步的性能测试:测试代码:http://geequery.github.io/ef-orm/manual/performance-test.rar 测试报告:...
24 <br>0050 using关键字的用法 24 <br>0051 变量的作用域 25 <br>2.5 其他 26 <br>0052 有效使用this对象 26 <br>0053 如何声明变量 26 <br>0054 如何声明相同类型的多个变量 26 ...