代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
PLSQL
】
包含列转行,分组等函数的语句
作者:
Dezai.CN
/ 发布于
2011/9/14
/
1007
SELECT DISTINCT PRODUCENUMBER --生产号 ,PLANLOTID --计划批次号 ,MONLEFTWEIGHT --PLANAMOUNT --计划重量 ,SHAPE --形状 ,SECTIONHIGH --截面高 ,SECTIONWIDTH --截面宽 ,SECTIONLENGTH --截面长 ,SPECS --规格 ,PRODUCEYEAR --排产年 ,PRODUCEMONTH --排产月 ,LTRIM(MAX(SYS_CONNECT_BY_PATH(LPAD(PROCESSNUMBER,3,'0'),'#')),'#') PROCESSNUMLIST --得到工序号的组合(000*005……) ,LTRIM(MAX(SYS_CONNECT_BY_PATH(PROCESSNAME,'#')),'#') PROCESSNAMELIST --得到工序编码的组合(工序编码*工序编码……) ,LTRIM(MAX(SYS_CONNECT_BY_PATH(GYNAME,'#')),'#') REALNAMELIST --工序名称 FROM ( SELECT DISTINCT JH.PRODUCENUMBER --生产号 ,JH.PLANLOTID --计划批次号 ,JH.PROCESSNAME --工序ID ,JH.PLANAMOUNT/* - NVL(DW.DPWEIGHT,0)*/ MONLEFTWEIGHT --JH.PLANAMOUNT --计划重量 ,JH.SHAPE --形状 ,JH.SECTIONHIGH --截面高 ,JH.SECTIONWIDTH --截面宽 ,JH.SECTIONLENGTH --截面长 ,F_SPECS(JH.SHAPE,JH.SECTIONLENGTH,JH.SECTIONWIDTH,JH.SECTIONHIGH) AS SPECS --规格 ,JH.PROCESSNUMBER --工序号 0*5*10 ,JH.IFDEFINEPLAN --是否完成 ,TGY.NAME GYNAME --工序名称 ,JH.PRODUCEYEAR --排产年 ,JH.PRODUCEMONTH --排产月 ,MIN(JH.PROCESSNUMBER) OVER(PARTITION BY JH.PLANTID,JH.PRODUCENUMBER,BB) WIN_DEGREEN_MIN --最小工序号0 ,(ROW_NUMBER() OVER (ORDER BY JH.PLANTID,JH.PRODUCENUMBER,PROCESSNUMBER,BB)) +(DENSE_RANK() OVER (ORDER BY JH.PLANTID,JH.PRODUCENUMBER,BB)) NUMID ,TTT.BB FROM TJH_PLANTPRODUCTIONPLAN JH --月计划表 ,TGY_STANDARDPROCESS TGY --标准工序表 ,TJC_PLANTID PT --下分厂 ,TJH_PLANTPRODUCTIONTASK TPT --任务表 (为得到下分厂,取ALLPLANT) ,(SELECT PROCESSNUMBER-(ROW_NUMBER() OVER (ORDER BY PLANTID,PRODUCENUMBER,processnumber)*5 ) AS BB, ID FROM TJH_PLANTPRODUCTIONPLAN JH WHERE PLANTID = '06' AND JH.FSTANDARD = '00' AND JH.STANDARD = 'C100015' AND JH.STEELNUMBER = 'T30X010307' ) TTT WHERE JH.ID = TTT.ID AND JH.PROCESSNAME = TGY.ID AND JH.PRODUCENUMBER= TRIM(TPT.PRODUCTIONTASKNUM(+) ) AND NVL(SUBSTR(TPT.ALLPLANT,INSTR(TPT.ALLPLANT,JH.PLANTID)+LENGTH(JH.PLANTID) +1,2),'08')= PT.PLANTID AND ( ( JH.PRODUCEYEAR >= '2010' --计划年 AND JH.PRODUCEMONTH >= DECODE(JH.PRODUCEYEAR,'2010',TO_NUMBER('11'),'0')) -- DECODE(JH.PRODUCEYEAR,M_STRNOWYEAR,M_STRNOWMONTH,'0'))--计划月 OR (INSTR(JH.PRODUCENUMBER,'Y')>0 OR INSTR(JH.PRODUCENUMBER,'J')>0 OR INSTR(JH.PRODUCENUMBER,'C')>0) ) AND EXISTS (SELECT 'X' FROM TZZ_CONTRACTDATA TC WHERE INSTR('计划,生产', TC.CONTRACTSTATUS )>0 --TC.CONTRACTSTATUS IN ('计划','生产') AND TC.PRODUCENUMBER = JH.PRODUCENUMBER ) --合同状态符合条件的 AND JH.PLANTID = '06' AND JH.FSTANDARD = '00' AND JH.STANDARD = 'C100015' AND JH.STEELNUMBER = 'T30X010307' ORDER BY JH.PRODUCENUMBER,PROCESSNUMBER,SPECS ) GROUP BY PRODUCENUMBER --生产号 ,PLANLOTID --计划批次号 ,MONLEFTWEIGHT --计划重量 ,SHAPE --形状 ,SECTIONHIGH --截面高 ,SECTIONWIDTH --截面宽 ,SECTIONLENGTH --截面长 ,SPECS --规格 ,PRODUCEYEAR --排产年 ,PRODUCEMONTH ,BB --,NEXTPLANTNAME --,NEXTPLANTID START WITH PROCESSNUMBER = WIN_DEGREEN_MIN CONNECT BY PRIOR NUMID +1 = NUMID</div>
试试其它关键字
列转行
同语言下
.
查看某张表的表结构
.
oracle 集合操作
.
for 循环中倒序 用reverse
.
Oracle 临时表空间收缩
.
查看session及其对应运行的sql
.
Oracle常用查看表结构命令
.
Oracle Connect By Prior用法(实现递归查询)
.
重置排序 SEQUENCE
.
创建一个trigger
.
批量替换字段中的字符
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
Dezai.CN
贡献的其它代码
(
4037
)
.
多线程Socket服务器模块
.
生成随机密码
.
清除浮动样式
.
弹出窗口居中
.
抓取url的函数
.
使用base HTTP验证
.
div模拟iframe嵌入效果
.
通过header转向的方法
.
Session操作类
.
执行sqlite输入插入操作后获得自动编号的ID
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3