我在SQL数据库中有2个表。
Company_Shares
HolderOfShares NumberOfShares ShareOfComapy
A 100 Nova
A 30 Samsung
B 40 Nova
C 70 Hyper
A +20 Samsung
B +50 Nova
Price_of_single_Share
ShareOfComapny PricePerShare
Nova 10
Samsung 17
Hyper 13
通过这两个表我需要创建一个查询,该查询总结每个HolderOfShares的NumberOfShares和多个股票的数量及其价格,并按照股票的总成本对其进行排序。最后的例子应该是这样的:
HolderOfShares TotalCostOfItsShares
A 1850
C 910
B 900
请有人帮我解决这个问题。
答案 0 :(得分:3)
如果要回答这个问题,答案可能也是正确的:
SELECT cs.HolderOfShares,
SUM(cs.NumberOfShares * poss.PricePerShare) as TotalCostOfItsShares
FROM Company_Shares cs JOIN
Price_of_single_Share poss
ON cs.ShareOfCompany = poss.ShareOfCompany
GROUP BY cs.HolderOfShares
ORDER BY TotalCostOfItsShares DESC;
注意:我认为ShareOfComapy
是拼写错误。
答案 1 :(得分:1)
加入这两个表
SELECT a.HolderOfShares, SUM(a.NumberOfShares) * b.PricePerShare as TotalCostOfItsShares FROM Company_Shares as a
JOIN Price_of_single_Share as b ON b.ShareOfComapy = a.ShareOfComapy
GROUP BY a.HolderOfShares