PL/SQL 写一个,每个人开了多少个项目,一共多少钱,,每个单列出
时间: 2024-10-17 09:06:40 浏览: 21
在PL/SQL中,为了计算每个人开了多少个项目以及项目的总金额,你需要有一个包含用户信息和项目关联数据的表结构。假设我们有两个表,一个是`users`,存储用户信息,另一个是`projects`,存储项目信息,其中`users`表有`user_id`字段,`projects`表有`user_id`和`project_amount`字段。
下面是一个简单的示例查询,它将获取每个用户的项目数量和所有项目的总金额:
```sql
DECLARE
CURSOR user_projects IS
SELECT u.user_id, COUNT(p.project_id) AS project_count, SUM(p.project_amount) AS total_amount
FROM users u
JOIN projects p ON u.user_id = p.user_id
GROUP BY u.user_id;
BEGIN
FOR project_rec IN user_projects LOOP
DBMS_OUTPUT.PUT_LINE('User ID: ' || project_rec.user_id);
DBMS_OUTPUT.PUT_LINE('Projects opened: ' || project_rec.project_count);
DBMS_OUTPUT.PUT_LINE('Total amount: ' || project_rec.total_amount);
DBMS_OUTPUT.NEW_LINE; -- 换行
END LOOP;
END;
/
```
这个查询首先创建了一个游标`user_projects`,然后遍历每一条记录,打印出对应用户的ID、项目数量和总金额。`DBMS_OUTPUT.PUT_LINE`函数用于在控制台输出结果。
阅读全文