Sql 在Oracle中按名称添加新列SUM Money

Sql 在Oracle中按名称添加新列SUM Money,sql,oracle,sum,Sql,Oracle,Sum,员工表: Name | Can_use | Money Jack | Yes | 1000 Lara | Yes | 1500 Jack | No | 500 Jack | Yes | 700 Lara | Yes | 500 我想创建一个视图表,结果如下: Name | Can_use | Money | Sum Jack | Yes | 1000 | 1700 Lara | Yes

员工表:

Name | Can_use | Money    
Jack | Yes     | 1000    
Lara | Yes     | 1500    
Jack | No      | 500    
Jack | Yes     | 700    
Lara | Yes     | 500
我想创建一个视图表,结果如下:

Name | Can_use | Money | Sum    
Jack | Yes     | 1000  | 1700    
Lara | Yes     | 1500  | 2000    
Jack | No      | 500   | 1700    
Jack | Yes     | 700   | 1700    
Lara | Yes     | 500   | 2000
对于Employy,可以使用=是,然后总和+=金钱

救救我

求和窗口函数和CASE将解决您的问题

CREATE OR REPLACE VIEW yourView AS
SELECT Name,
       Can_use,
       Money,
       SUM(CASE WHEN Can_use = 'Yes' THEN Money ELSE 0 END) OVER (PARTITION BY Name) "Sum"
FROM yourTable;
求和窗口函数和CASE将解决您的问题

CREATE OR REPLACE VIEW yourView AS
SELECT Name,
       Can_use,
       Money,
       SUM(CASE WHEN Can_use = 'Yes' THEN Money ELSE 0 END) OVER (PARTITION BY Name) "Sum"
FROM yourTable;

谢谢你们的帮助:很好的复出,你们把我从水里吹了出来+1。谢谢你们的帮助:很好的复出,你们把我从水里吹了出来+1。