Sql server SQL Server-为每个distict列值添加行
我需要为表中每个不同的Sql server SQL Server-为每个distict列值添加行,sql-server,tsql,insert,distinct,Sql Server,Tsql,Insert,Distinct,我需要为表中每个不同的ResourceId添加一个新行。通过使用查询,我可以轻松地获得这些信息: SELECT Distinct ResourceId FROM [dbo].[Localizations] 现在,我需要为每个表添加一行。行的格式为 Id ResourceId Resourceset Value LocaleId 53591 AssessmentType_21 /Assessemnts Task
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
每个ResourceId
可以有多个LocaleId
,但我只希望每个ResourceId
插入一行
我需要插入的新行的格式如下:
和ResourceId
保持不变Resourceset
- 值将始终为
Resourceset
ResourceId
将始终是LocaleId
mk
希望这是清楚的-不是最容易解释的。我做了搜索,但没有类似的问题。在这方面的任何帮助都将不胜感激 如果我理解正确:
insert into localizations (ResourceId, Resourceset, Value, LocaleId)
select distinct ResourceId, Resourceset,
'/' + Resourceset + '.' + ResourceId, 'mk'
from localizations;
这假设对ResourceId
/Resourceset
是唯一的
这还假设id
是自动分配的(即,它是标识
列)
insert into localizations (ResourceId, Resourceset, Value, LocaleId)
select distinct ResourceId, Resourceset,
'/' + Resourceset + '.' + ResourceId, 'mk'
from localizations;