我有三个sql表,如下所示。
表1:基准
WorkLoadType MaxUsersperVCpu vCPU RAM MaxUserCapacity
------------------------------------------------------------
Light 6 2 8 12
Medium 4 4 16 16
Heavy 2 4 16 8
Power 1 6 56 6
表2:vmtype
id HostPoolName Resource_Group WorkLoadType
------------------------------------------------
1 Pool1 RG1 Light
2 Pool2 RG2 Light
3 Pool3 RG3 Light
4 Pool4 RG4 Light
表3:vm
HostPoolName MemoryInMB Name NumberOfCores Resource_Group VMSize
-------------------------------------------------------------------------------
Pool1 8192 VM1 2 RG1 Standard_D2s_v3
Pool1 8192 VM2 2 RG1 Standard_D2s_v3
Pool2 8192 VM3 2 RG2 Standard_D2s_v3
Pool3 8192 VM4 2 RG3 Standard_D2s_v3
Pool3 8192 VM5 2 RG3 Standard_D2s_v3
Pool3 8192 VM6 2 RG3 Standard_D2s_v3
Pool3 8192 VM7 2 RG3 Standard_D2s_v3
Pool3 8192 VM8 2 RG3 Standard_D2s_v3
我需要创建一个存储过程来生成一个新的表。在这里 Capacity
列是 MaxUserPervCpu
以及 NumberOfCores
表:容量
Name HostPoolName ResourceGroup WorkLoadType MaxUserPerVCpu NumberOfCores Capacity
-----------------------------------------------------------------------------------------------------
VM1 Pool1 RG1 Light 6 2 12
VM2 Pool1 RG1 Light 6 2 12
VM3 Pool2 RG2 Light 6 2 12
VM4 Pool3 RG3 Light 6 2 12
VM5 Pool3 RG3 Light 6 2 12
VM6 Pool3 RG3 Light 6 2 12
在此方面的帮助将不胜感激。
2条答案
按热度按时间dy2hfwbg1#
这看起来很简单
join
学生:kmb7vmvb2#
您需要标识所有这些表之间的公共键,并进行内部或外部联接。在联接之后,如果希望包含公式,则可以,但可能必须使用GROUPBY语句对其余列进行分组。完成后,您可以简单地插入到目标表中。
有两个选项可以插入。。。插入到或选择插入到
这是两者的区别
https://www.c-sharpcorner.com/blogs/select-into-insert-into-in-sql-server1