如何计算 SQL 服务器中某些特定产品类型的收益?

How to calculate benefit of some specific product type in SQL Server?

所以,这是我的表格:

销售额

id product_code
1 4536
2 4674

产品

product_code product_name price real_price
4536 Red bull energy drink 300 ml 3,68 2,88
4674 Mac coffee 25 gr 2,59 2,10

我需要计算我从名称中带有“Red Bull”的产品中获得了多少收益。效益等于price-real_price.

预期输出:

product_name benefit
Red bull energy drink 300 ml 4536,4

这是我尝试过的:

SELECT products.product_code,(price-real_price) as profit
FROM products
INNER JOIN sales
ON products.product_code = sales.product_code
outer apply (select count(*) 
            from sales as benefit
where product_name like '%red bull';

但是它没有给我想要的输出。

正如您所说,每一行都是一个已售出的数量,下面的查询就可以完成这项工作。
我建议最好在sales table.

中有一个数量栏
select
  p.product_code,
  p.product_name,
  count(s.product_code) as quantity_sold,
  sum( (p.price-p.real_price)*count(s.product_code) as total_profit
from products p 
join sales s on s.product_code = p.product_code
where p.product_name like '%red bull'
group by
  p.product_code,
  p.product_name;
create table Sales (
   id int, 
   product_code int)

create table Products(
   product_code int,
   product_name char(100),
   price smallmoney,
   real_price smallmoney)

insert into Sales values   
   (1, 4536),
   (2, 4674),
   (3, 4536) -- to have multiple sales for Red Bull
   
insert into Products values
   (4536, 'Red bull energy drink 300 ml', 3.68, 2.88),
   (4674, 'Mac coffee 25 gr', 2.59, 2.10)
   
select 
   p.product_name, sum(p.price - p.real_price) benefit
from Sales s join Products p on s.product_code = p.product_code
group by p.product_name
product_name benefit
Mac coffee 25 gr 0.4900
Red bull energy drink 300 ml 1.6000