You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle如何创建按employee_id统计硬币销售额及10%佣金的视图

Oracle 员工销售佣金视图实现方案

核心思路

你需要按以下4步实现:

  • 先确认涉及的表结构:至少需要员工基础表(存储employee_id、first_name、surname)、硬币销售交易表(关联employee_id,存储每笔交易对应的硬币售价,或关联硬币主表取售价)
  • 先完成聚合逻辑:按employee_id分组,用SUM()函数汇总所有硬币销售总金额,10%佣金直接用总金额乘以0.1计算
  • 关联员工表补全姓名字段,注意非聚合字段必须全部放入GROUP BY子句(Oracle语法要求)
  • 用CREATE VIEW语句封装查询逻辑,生成可复用的视图

参考代码

示例假设员工表名为employees,硬币销售表名为coin_sales,销售表单条记录存储对应硬币售价字段coin_price,可根据实际业务替换表名、字段名。

CREATE OR REPLACE VIEW v_employee_sales_commission AS
SELECT
    e.employee_id,
    e.first_name AS "first name",
    e.surname,
    SUM(cs.coin_price) AS total_coin_sales_amount,
    SUM(cs.coin_price) * 0.1 AS ten_percent_commission
FROM
    employees e
INNER JOIN
    coin_sales cs ON e.employee_id = cs.employee_id
-- 如果售价存在硬币主表,新增关联即可:
-- INNER JOIN coins c ON cs.coin_id = c.coin_id
GROUP BY
    e.employee_id, e.first_name, e.surname;

常见调整说明

  • 若需要展示无销售记录的员工,将INNER JOIN改为LEFT JOIN,可搭配NVL(SUM(cs.coin_price), 0)把空销售值转为0
  • 视图创建后直接执行SELECT * FROM v_employee_sales_commission即可查询最新的汇总结果,不需要额外维护

内容的提问来源于stack exchange,提问作者Adam Barnard

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 18:15:01