根据DISTINCT值插入'n'行并填充新的行值
问题描述:
我有一个表(邮件)和一个字段(文件名),它在所有记录中有3个不同的值。假设值是:根据DISTINCT值插入'n'行并填充新的行值
文件1
文件2
文件3
我需要从另一个表中插入一条记录(种子)到所述邮件表,根据这些不同的值,然后用更新的文件名场我将这些值插入到邮件表中。因此,如果我要插入1条记录,我最终会插入相同的记录3次,每个记录都有一个不同的值。
为了给一点背景,这里是我的基本INSERT INTO
声明:
INSERT INTO dbo.mailing (
Filename,
Title,
Forename,
Surname,
Address1,
Address2,
Address3,
Address4,
Address5,
Address7)
SELECT
'?' AS Filename,
Title,
Forename,
Surname,
Company,
Address1,
Address2,
Address3,
Address4,
Postcode
FROM dbo.Seeds AS S
WHERE S.URN = 1
我明明硬编码的文件名作为?目前。我希望这是有道理的?。
答
如果我理解正确,您的filename
字段在seeds
。如果是这样,你可以附加一个数字:
SELECT Filename + cast(row_number() over (partition by filename order by filename) as varchar(255)) as Filename,
. . .
FROM dbo.Seeds S
WHERE S.URN = 1;
嗨戈登 - 实际上没有种子中的文件名字段。文件名在我的主表中有不同的值,我需要在插入时填充种子 – ByteAddict