2017-06-26 51 views
0

我有一個表(郵件)和一個字段(文件名),它在所有記錄中有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 

我明明硬編碼的文件名作爲?目前。我希望這是有道理的?。

回答

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; 
+0

嗨戈登 - 實際上沒有種子中的文件名字段。文件名在我的主表中有不同的值,我需要在插入時填充種子 – ByteAddict