我需要为Table中的每个Distinct ResourceId
添加一个新行。我可以使用查询轻松获得这些:
SELECT Distinct ResourceId FROM [dbo].[Localizations]
现在,我需要在表格中添加一行。行的格式为
Id ResourceId Resourceset Value LocaleId
53591 AssessmentType_21 /Assessemnts Task Format en
53247 Attr_Description_1 /Description Concentration en
53378 Attr_Description_132 /Description Affirmation en
每个LocaleId
可以有多个ResourceId
,但我只希望每ResourceId
插入一行。
我需要插入的新行将采用以下格式:
ResourceId
& Resourceset
保持不变
值始终为Resourceset
。ResourceId
LocaleId
始终为mk
因此,对于上面的示例,我需要编写一个查询,将以下3行插入表中。 (仅举例)
Id ResourceId Resourceset Value LocaleId
60001 AssessmentType_21 /Assessemnts /Assessemnts.AssessmentType_21 mk
60002 Attr_Description_1 /Description /Description.Attr_Description_1 mk
60003 Attr_Description_132 /Description /Description.Attr_Description_132 mk
希望这很清楚 - 不是最容易解释的。搜索但问题没有相似之处。对此有任何帮助表示赞赏。
答案 0 :(得分:1)
如果我没有正确理解:
insert into localizations (ResourceId, Resourceset, Value, LocaleId)
select distinct ResourceId, Resourceset,
'/' + Resourceset + '.' + ResourceId, 'mk'
from localizations;
这假设ResourceId
/ Resourceset
对是唯一的。
这也假设id
是自动分配的(即,它是identity
列。)