我要得到一个视图
A B C
1 2
3 4
3 6
因为A中的值在表中可能没有,所以就为空,或者为0,B也可能在表中没有值。这样的试图怎么建。
A B C
1 2
3 4
3 6
因为A中的值在表中可能没有,所以就为空,或者为0,B也可能在表中没有值。这样的试图怎么建。
解决方案 »
- oracle查询 疑问 菜鸟级
- ORACLE创建一个200G的表空间需要多长时间
- 两表联合查询加时间的SQL怎么写?
- 使用sqlplus login是oracle报2165的错误,请各位多多指点!
- C++如何访问Oracle数据库(AIX 5.2)
- 字符字段与数值字段如何比较
- oracle 9i full join 问题
- 用 blob 字段的数据表应该注意什么,我现在向该字段插入一个 50M 的 Word 文档就报错,说“无法通过128(在表空间STAM中)扩展”
- 请教一条ORACLE中的SQL语句 急,100求解,帮女朋友。
- 在p4下deveplor2000 安装问题?
- SQLLDR 手动打命令可以,通过程序不行,救命,谢谢!
- 两节点的RAC,装了两个实例,其中一个实例sys/system忘了,如何更改?
NAME MARK BIGITEM
A 1 1
A 1 2
A 1 3
B 1 4
我想得到的视图是这样的
NAME MARK(BIGITEM = 1,2,3的和) MARK(BIGITEM = 4 的值)
A 3 0
B 0 1
SELECT NVL(C.NAME, A.NAME)
,C.MARK_123
,NVL(A.MARK , 0) MARK_4
FROM (
SELECT SUM(B.MARK) AS MARK_123
,B.NAME
FROM TEST01.TEST B
WHERE B.BIGITEM IN('1', '2', '3')
GROUP BY B.NAME ) C
LEFT OUTER
JOIN TEST A ON A.NAME =C.NAME
AND A.BIGITEM = '4'
NAME MARK(BIGITEM = 1,2,3的和) MARK(BIGITEM = 4 的值)
A 3 0
B 0 1A B C
1 2
3 4
3 6 A的这一列
是怎么变成
1
3
0
呀。
NAME MARK BIGITEM
A 1 1
A 1 2
A 1 3
B 1 4
我想得到的视图是这样的
NAME MARK(BIGITEM = 1,2,3的和) MARK(BIGITEM = 4 的值)
A 3 0
B 0 1
就看这个吧,刚开始有点晕。
按这个描述,代码应该这么写
create view tt_view as
select name,sum(case when bigitem<>4 then end)1,
sum(case when bigitem=4 then end)2
from tt
group by name