我有一个数据库,里面有人的id和他们欠的钱。 在不同的行上可以在de数据库中找到一个人。
我需要收集所有金额高于140的人,并在表格中获取所有信息(表格名称为金钱)。
我尝试使用select语句(Cashdue)> 140但他不会允许批量收集。
我知道如何批量收集信息,同时只计算总金额超过140的人?
提前致谢。
DECLARE
Type type_coll_number
is table of money.userid%type;
t_moneydue type_coll_number;
BEGIN
select money.userid
bulk collect into t_moneydue
from money
group by userid
having count(Cashdue) > 140;
for i in 1 .. t_moneydue.count
loop
dbms_output.put_line(t_moneydue(i));
end loop;
END;
答案 0 :(得分:1)
将我的评论转化为答案:-)
你可能想要总和(cashdue)> 140而不是计数
答案 1 :(得分:0)
只需将其放在另一个查询中:
select userid
bulk collect into t_moneydue
from (
select money.userid
from money
group by userid
having sum(Cashdue) > 140
);