我有一个表(邮件),其中包含一个字段(文件名),该字段在所有记录中都有3个不同的值。假设值是:
File1中
文件2
file3的
我需要根据这些不同的值将另一个表(Seeds)中的记录插入到所述Mailing表中,然后使用这些值插入到Mailing表中来更新Filename字段。
所以,如果我要插入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
我显然已将文件名硬编码为?目前。我希望这有道理吗?。
答案 0 :(得分:0)
如果我理解正确,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;