已知
表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 在这里报错:请问我该怎么写??
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 )