http://community.csdn.net/Expert/topic/3761/3761586.xml?temp=.7051355
解决方案 »
- 增加操作系统密码后 oracle连接失败
- 关于查询结果集大量插入到表中问题
- 请教大家一个查询语句,相信不会耽搁多长时间
- sql 求解
- pl/sql 和sql 的关系,向请教大家.
- who can help me
- 超级难的查询问题(对我而言)
- 关于num的问题
- 查看表dba_free_space中,BLOCKE_ID 和 BLOCKS 用来做什么?他和我们的初始设置有哪些联系
- sys.WRH$_SQL_BIND_METADATA表被锁了,怎么办,急求高手帮忙处理!!!!!
- 我想根据某一个属性字段作group by的count运算,现在我想把对应的属性值也加到结果集中,请问应该如何做?
- 很有意思的数据建模问题
nvl(b.x1,0) x,
nvl(b.y1,0) y,
nvl(b.z1,0) z,
nvl(b.x2,0) x,
nvl(b.y2,0) y,
nvl(b.z2,0) z,
nvl(b.x3,0) x,
nvl(b.y3,0) y,
nvl(b.z3,0) z
from a,
(
select yhh,
max(decode(no,1,x,null)) x1,
max(decode(no,1,y,null)) y1,
max(decode(no,1,z,null)) z1
max(decode(no,2,x,null)) x2,
max(decode(no,2,y,null)) y2,
max(decode(no,2,z,null)) y3,
max(decode(no,3,x,null)) x3,
max(decode(no,3,y,null)) y3,
max(decode(no,3,z,null)) z3
from
(
select row_number() over(partition by yhh order by rowid) no,yhh,x,y,z from b
)
) b
where a.yhh=b.yhh(+);
这个要考虑用过程来实现.可以用动态sql来做.
还少个分组:)可能ORARichard遗漏了呵呵!12:37:01 SQL*PLUS>SELECT A.YHH,
12:43:37 2 NVL(Bb.X1, 0) X,
12:43:37 3 NVL(Bb.Y1, 0) Y,
12:43:37 4 NVL(Bb.Z1, 0) Z,
12:43:37 5 NVL(Bb.X2, 0) X,
12:43:37 6 NVL(Bb.Y2, 0) Y,
12:43:37 7 NVL(Bb.Z2, 0) Z,
12:43:37 8 NVL(Bb.X3, 0) X,
12:43:37 9 NVL(Bb.Y3, 0) Y,
12:43:37 10 NVL(Bb.Z3, 0) Z
12:43:37 11 FROM A,
12:43:37 12 (SELECT YHH,
12:43:37 13 MAX(DECODE(NO, 1, X, NULL)) X1,
12:43:37 14 MAX(DECODE(NO, 1, Y, NULL)) Y1,
12:43:37 15 MAX(DECODE(NO, 1, Z, NULL)) Z1,
12:43:37 16 MAX(DECODE(NO, 2, X, NULL)) X2,
12:43:37 17 MAX(DECODE(NO, 2, Y, NULL)) Y2,
12:43:37 18 MAX(DECODE(NO, 2, Z, NULL)) z2,
12:43:37 19 MAX(DECODE(NO, 3, X, NULL)) X3,
12:43:37 20 MAX(DECODE(NO, 3, Y, NULL)) Y3,
12:43:37 21 MAX(DECODE(NO, 3, Z, NULL)) Z3
12:43:37 22 FROM (SELECT ROW_NUMBER() OVER(PARTITION BY YHH ORDER BY ROWID) NO,
12:43:37 23 YHH, X, Y, Z FROM B)
12:43:37 24 GROUP BY YHH) Bb
12:43:37 25 WHERE A.YHH = bB.YHH(+);YHH X Y Z X Y Z X Y Z
-------------------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ----------
1001 X1 Y1 Z1 x2 y2 z2 x3 y3 z3
1002 x4 y4 z4 x5 y5 z5 0 0 0
1003 x6 y6 z6 0 0 0 0 0 0
1004 x7 y7 z7 x8 y8 z8 0 0 0已用时间: 00: 00: 00.00
12:43:38 SQL*PLUS>
我已经是第N次漏掉这个group by了:)