【发布时间】:2021-08-30 21:23:49
【问题描述】:
我有 3 张桌子。 为简单起见,我将它们更改为这些示例表。
table1:CorporateActionSmmary
RATE Quantity ProductID
--------------------------
56 0 1487
30 0 1871
40 0 8750
table2# ProductMaster
RATEGROSS ISIN ProductID
--------------------------
60 JP0001 1487
33 JP0002 1871
45 JP0003 8750
table3# 打开位置
Quantity ProductID
-------------------
5 1487
1 1487
5 1487
3 1871
2 1871
4 8750
2 8750
7 8750
3 8750
首先我需要将表 2 中的 ISIN 添加到表 1 表 1:CorporateActionSmmary
RATE Quantity ProductID ISIN
-------------------------------------
56 0 1487 JP0001
30 0 1871 JP0002
40 0 8750 JP0003
所以,我使用了这个代码
SELECT [dbo].[CorporateActionSummary].*, [dbo].[ProductMaster].[ISIN]
FROM [dbo].[CorporateActionSummary] JOIN [dbo].[ProductMaster] ON CorporateActionSummary.ProductID = ProductMaster.ProductID
现在您可以看到 Table1 中缺少 Quantity,因此我必须将 Table3 中每个产品 ID 的所有数量相加并添加到 Table1(作为新列或覆盖 Quntity 列)
我想我可以通过下面的代码得到每个 ProductID 的 Quantity 的总和,但是如何将它添加到已经有 ISIN 列的 Table1 中
SELECT SUM(Qantity),ProductID
FROM [dbo].[OpenPositions]
我是SQL超级新手,如果可以的话请详细说明,谢谢
我正在使用 Microsoft SQL Server Management Studio
【问题讨论】:
-
first I need t add ISIN from table2 to table1这不是您所做的或您想要的。这是错误的概念或理解。你想从数据库中检索一些信息,你写一个SELECT查询。查询可以从多个表的多个列中检索。您可以在ON条件中指定一个表如何JOIN到另一个表。
标签: sql sql-server tsql join