2013-01-13 58 views
0

我有兩張桌子 - 今晚我真的相信我有一個金髮的時刻。需要更新FK與新的PK重複

標題

HeadingID, HeadingName, TopicID 

副標題

​​

我希望做的是重複的標題和其中TopicID = 1 = 2

我所有條目SubHeadings已寫:

INSERT INTO Headings (HeadingName, TopicID) 
SELECT HeadingName, 2 FROM Headings WHERE TopicID = 1 //(Duplicating Headings and assigning TopicID 2). 

我卡在SubHeadings;我想提交剛剛創建的新HeadingID,我不知道。我可以用相同的插入/選擇語句來完成剩餘的字段,但是我很難過。

有人可以請幫助我一個例子或一些文件嗎?

簡化了數據看起來是這樣的:

HeadingID = 1 
HeadingName = 'News' 
TopicID = 1 
HeadingID = 2 
HeadingName = 'Sport' 
TopicID = 1 

SubHeadingID = 1 
SubHeadingName = 'Local' 
HeadingID = 1 
SubHeadingID = 2 
SubHeadingName = 'National' 
HeadingID = 1 
SubHeadingID = 3 
SubHeadingName = 'International' 
HeadingID = 1 
SubHeadingID = 4 
SubHeadingName = 'Baseball' 
HeadingID = 2 
SubHeadingID = 5 
SubHeadingName = 'Cricket' 
HeadingID = 2 

回答

0

下面的查詢將幫助你:)

INSERT INTO SubHeadings (SubHeadingName, HeadingID) 
SELECT subhdng.SubHeadingName, hdng.HeadingID 
FROM Headings hdng 
INNER JOIN SubHeadings subhdng ON hdng.HeadingID = subhdng.HeadingID 
WHERE hdng.TopicID = 2 
+0

@jetgrrrl請讓我知道,如果以上的答案幫助。 – OMG

+0

感謝OMG,我會在醒來時測試它:D – jetgrrrl

+0

嗨OMG,你的建議不起作用,然而連接給了我另一個想法(插入一個內聯選擇來獲得標題ID),我能夠從它得到它有:)謝謝! – jetgrrrl