select
(select sum(zc11.折前金额) from z_xstj_mc zc11 where rownum<10 ) as a,
(select sum(zc33.折前金额) from z_xstj_mc zc33 where rownum<10 ) as ab,
(select sum(zc44.折前金额) from z_xstj_mc zc44 where rownum<10 ) as acc,
(select sum(zc22.折前金额) from z_xstj_mc zc22 where rownum<10 ) as ddb
from dual
出现未明确定义列错误但是随便去掉一个列
select
(select sum(zc11.折前金额) from z_xstj_mc zc11 where rownum<10 ) as a,
--(select sum(zc33.折前金额) from z_xstj_mc zc33 where rownum<10 ) as ab,
(select sum(zc44.折前金额) from z_xstj_mc zc44 where rownum<10 ) as acc,
(select sum(zc22.折前金额) from z_xstj_mc zc22 where rownum<10 ) as ddb
from dual
或
select
(select sum(zc11.折前金额) from z_xstj_mc zc11 where rownum<10 ) as a,
(select sum(zc33.折前金额) from z_xstj_mc zc33 where rownum<10 ) as ab,
--(select sum(zc44.折前金额) from z_xstj_mc zc44 where rownum<10 ) as acc,
(select sum(zc22.折前金额) from z_xstj_mc zc22 where rownum<10 ) as ddb
from dual
却能执行, 这是为什么啊 !!!
但是就是4个列 就不行。。3个列或2个列就没问题啊 。
a01 a02 a03 a041 2 3 4
2 3 4 5
3 4 5 6
4 5 6 7
5 6 7 8
6 7 8 9
7 8 9 10
8 9 10 11
9 10 11 12
10 11 12 13--SQL:
select
(select sum(a01) from a where rownum<10) as b1,
(select sum(a02) from a where rownum<10) as b2,
(select sum(a03) from a where rownum<10) as b3,
(select sum(a04) from a where rownum<10) as b4
from dual
--RESULT:
B1 B2 B3 B4
45 54 63 72
试一下这个......SELECT SUM(ZC11.折前金额) A,
SUM(ZC11.折前金额) AB,
SUM(ZC11.折前金额) ABC,
SUM(ZC11.折前金额) ABCD
FROM Z_XSTJ_MC ZC11
WHERE ROWNUM < 10
针对该问题建议LZ写个FUNCTION,这样随时可调用...
SUM(ZC11.折前金额) AB,
SUM(ZC11.折前金额) ABC,
SUM(ZC11.折前金额) ABCD
FROM Z_XSTJ_MC ZC11
WHERE ROWNUM < 10
这样写呢。。???????????
SUM(ZC11.折前金额) AB,
SUM(ZC11.折前金额) ABC,
SUM(ZC11.折前金额) ABCD
FROM Z_XSTJ_MC ZC11
WHERE ROWNUM < 10
会不会是执行语句的时候有什么限制什么的。我用其他表写成那样也没问题问题可能出现在z_xstj_mc视图里
但是为什么4列就不可以 3列就可以 是不是什么参数限制了???