2009-12-17 149 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子句中找到的所有名称插入表中的所有课程。