已知
表MCCN_TEST(id,VIPID,MONEYBEGIN,MONEYEND) 几个字段都是 number类型
select (select mccn_vippoint_seq.nextval from dual) id ,vipid,
sum(moneyend-moneybegin) moneybegin, 0
from MCCN_TEST where idn>0
group by vipid ,moneyend,(select mccn_vippoint_seq.nextval from dual),0 (select mccn_vippoint_seq.nextval from dual) id 在这里报错:请问我该怎么写??
表MCCN_TEST(id,VIPID,MONEYBEGIN,MONEYEND) 几个字段都是 number类型
select (select mccn_vippoint_seq.nextval from dual) id ,vipid,
sum(moneyend-moneybegin) moneybegin, 0
from MCCN_TEST where idn>0
group by vipid ,moneyend,(select mccn_vippoint_seq.nextval from dual),0 (select mccn_vippoint_seq.nextval from dual) id 在这里报错:请问我该怎么写??
解决方案 »
- oracle 临时表问题
- oracle触发器怎么写,,在线等!!!!!!!!!
- oacle复合主键重复插入数据时如何跳过重复数据
- ALTER TABLE table_name DEALLOCATE UNUSED;
- 在oracle中,数据已被删除,并commit,如何恢复数据
- 请教一个分组语句
- oracle优化等深度学习资料 学习的速度来拿啊 ...........................................
- 请问oracle form builder 是干什么用的?
- oracle数据库的应用结构之间究竟有什么区别?
- 求指教,oracle 不能删除数据
- sql语句中的case when then
- 请问一个最简单存储过程,我郁闷了,总是错的。
SELECT MCCN_VIPPOINT_SEQ.NEXTVAL ID,
VIPID,
SUM(MONEYEND - MONEYBEGIN) MONEYBEGIN,
0
FROM MCCN_TEST
WHERE IDN > 0
GROUP BY VIPID, MONEYENDMCCN_VIPPOINT_SEQ.NEXTVAL, 0;
sum(moneyend-moneybegin) moneybegin, 0
from MCCN_TEST where idn>0
group by vipid ,moneyend,(select mccn_vippoint_seq.nextval from dual),0
的时候出错。请问我该怎么办?谢谢了。
SELECT MCCN_VIPPOINT_SEQ.NEXTVAL ID, VIPID, MONEYBEGIN, TMP
FROM (SELECT VIPID, SUM(MONEYEND - MONEYBEGIN) MONEYBEGIN, 0 AS TMP
FROM MCCN_TEST
WHERE IDN > 0
GROUP BY VIPID, 0);
因为你那样查出来的话数据库就会默认觉得你的查询结果有多条记录。所以你的编译就不会通过
(idn, vipid, moneybegin, moneyend)
select mccn_vippoint_seq.nextval, vipid, moneybegin, 0
from (select vipid, sum(moneyend - moneybegin) moneybegin
from MCCN_TEST
where idn > 0
group by vipid, moneyend)
(idn, vipid, moneybegin, moneyend)
values(
select mccn_vippoint_seq.nextval, t.vipid, t.moneybegin, 0
from (select vipid, nvl(sum(nvl(moneyend,0) - nvl(moneybegin,0)) moneybegin
from MCCN_TEST
where idn > 0
group by vipid, moneyend) t )