需要对以下方案提出一些建议。我有两个连接表(比如表A和表B)
表A的列为ContrastId,而表B为HueID,它们由ColorId连接
Select ColorCD, ContrastId, HueId,
From TableA TA
Inner JOIN TableB TB
TA.ColorID = TB.ColorID
上面的select语句的结果应该插入另一个表(比如表C)
结果示例:
ColorCD | ContrastID | HueID
-----------------------------
111000 | 123 | 555
111100 | 114 | 548
110015 | 128 | 265
我希望在表C中发生什么,我需要放置结果集如下所示。
表C
INSERT INTO dbo.TableC (Gen_N, ColorCD, ColorType ,Identifier, ProcessDT)
SELECT Gen_N, ColorCD, 'Contrast' ,Identifier, ProcessDT
From TableA TA
Inner JOIN TableB TB
TA.ColorID = TB.ColorID
Gen_N | ColorCD | ColorType | Identifier
------------------------------------------
Color | 111000 | Contrast | 123
Color | 111000 | Hue | 555
Color | 111100 | Contrast | 148
Color | 111100 | Hue | 548
Color | 110015 | Contrast | 128
Color | 110015 | Hue | 256
对布局表示抱歉,我不知道如何在此处插入表格。 :) 非常感谢您的帮助。我相信我需要在这里做一个循环,以获得结果集的每个记录,但不确定如何。
请帮忙吗?非常感谢
答案 0 :(得分:1)
你不应该为此循环。假设您的字段正确无误,则可以针对每种类型使用Insert
Union
执行此操作。
这应该适用于隐含的结构:
Insert TableC (Gen_N, ColorCD, ColorType, Identifier, ProcessDT)
Select Gen_N, ColorCD, 'Contrast', ContrastId, ProcessDT
From TableA TA
Join TableB TB On TA.ColorID = TB.ColorID
Union All
Select Gen_N, ColorCD, 'Hue', HueID, ProcessDT
From TableA TA
Join TableB TB On TA.ColorID = TB.ColorID