我需要得到订单的权重,所以我需要对结果求和。这个表看起来像这样
SalesOrderID SalesOrderDetailID SubTotal CompanyName Weight
------------ ------------------ --------------------- -------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------
71774 110562 880,3484 Good Toys 1061.40
71774 110563 880,3484 Good Toys 988.83
71776 110567 78,81 West Side Mart 317.00
71780 110616 38418,6895 Nearby Cycle Shop 5098.36
71780 110617 38418,6895 Nearby Cycle Shop 24874.88
71780 110618 38418,6895 Nearby Cycle Shop 78053.76
71780 110619 38418,6895 Nearby Cycle Shop 2431.24
71780 110620 38418,6895 Nearby Cycle Shop 12596.19
查询:
SELECT a.SalesOrderID, c.SalesOrderDetailID, a.SubTotal,b.CompanyName,
(SELECT c.OrderQty*d.Weight WHERE c.SalesOrderID=c.SalesOrderID) AS Weight
FROM SalesLT.SalesOrderHeader as a
INNER JOIN SalesLT.Customer AS b
ON a.CustomerID=b.CustomerID
INNER JOIN SalesLT.SalesOrderDetail AS c
ON c.SalesOrderID=a.SalesOrderID
INNER JOIN SalesLT.Product as d
ON d.ProductID=c.ProductID
我试着将sum设为sum(case when),但这会导致错误。还有其他方法吗?预期输出:71774| 880,3484个|好玩具|2050年,23岁
2050,23是两行权重之和
3条答案
按热度按时间siv3szwd1#
您可以使用
hgb9j2n62#
oxalkeyp3#
您的数据
您的查询