0

私は 2 つのテーブルを持っています。

見出し

HeadingID, HeadingName, TopicID

小見出し

SubHeadingID, SubHeadingName, HeadingID

私がやりたいのは、Headings とSubHeadingswhere TopicID= 1 to = 2 のすべてのエントリを複製することです。

私は書いた:

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

SubHeadings;に行き詰まっています。作成したばかりの新しいものを入れたいのですが、HeadingIDわかりません。同じ Insert/Select ステートメントを使用して残りのフィールドを実行できますが、困惑しています。

誰かが例やいくつかのドキュメントを手伝ってくれませんか?

簡略化したデータは次のようになります。

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
4

1 に答える 1

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
于 2013-01-13T13:09:49.610 に答える