我想将Table1
和Table2
的记录插入Table3
,我的Table3
有两列:
studentId
subjectId
我想从Table1
(包含1000个学生ID)和从Table2
(包含5个科目)中插入这两个值。为了实现这一点,我使用了以下查询,但它给了我错误
查询:
INSERT INTO StudentSubject(studentId,subjectId)
SELECT studentId FROM Table1 UNION SELECT subjectId FROM Table2
但我收到此错误消息:
Msg 120,Level 15,State 1,Line 1 INSERT语句的选择列表包含的项目少于插入列表。 SELECT值的数量必须与INSERT列的数量匹配。
答案 0 :(得分:1)
INSERT into StudentSubject(studentId,subjectId)
SELECT a.studentId,b.subjectId
FROM Table1 a CROSS JOIN Table2 b