2009-12-17 297 views
2

我想要執行以下操作:SQL插入語句

我有一個名爲Name的表,它具有一個ID字段。

我還有一個叫成績單

我想從名取的ID號,並將其插入到成績單,他們不存在空白表。

其次,我想在Transcript表中創建10個帶有不同COURSE#值的記錄。

因此,對於每個Name.ID,我希望Transcript.ID中的10個記錄在課程#ie中具有不同的值; 101,201,301

+1

您使用的數據庫是? – 2009-12-17 18:14:37

+0

這些額外的10條記錄是什麼驅動的?這10條記錄是來自第三張名爲「課程」的表格還是類似的事實?還是隻是「插入10條記錄,因爲這是我想要/被告知要做的事情」? – 2009-12-17 18:22:12

回答

1

像這樣的東西可能會奏效:

INSERT INTO TableB 

SELECT TableA.id FROM TableA 
LEFT OUTER JOIN TableB 
ON TableA.name = TableB.name 
WHERE TableB.id IS null 
0

另一個查詢將返回相同的事情

INSERT INTO TABLEB SELECT TableA.ID FROm TableA WHERE ID NOT IN (SELECT Id FROM TableB)

+0

地雷更快;) – 2009-12-17 18:19:09

+0

最有可能,但我想表明,有多個解決方案:)。 我做了投票你的方式:頁 – 2009-12-17 20:26:14

0

假設你從一些課外課程表讓你的橫列數,在這裏是t-sql:

INSERT INTO transcript (name_id, course_id) 
SELECT n.name_id, c.course_id 
FROM name n 
CROSS APPLY courses c 
WHERE n.last_name = 'xxx' 

這將在where子句中找到的所有名稱插入表中的所有課程。