2017-03-08 63 views
0

我有两个表 学生和course_logSQL服务器插入使用WITH

我已经在学生表中的学生,我需要插入course_log为每个学生标准课程(UNI 101),所有必须采取或采取。

因此,如果有10名学生将有在course_log表10项为每个学生提供课程UNI 101

我想使用与条款,但它不会按照这种方式,我认为

USE [university] 
GO 
with studentid as (select id as stdID from student) 
INSERT INTO [dbo].[course_log] 
      ([course_name] 
      ,[course_code] 
      ,[STUDENT_ID]) 
    VALUES 
      ('STANDARD COURSE FOR ALL STUDENTS' 
      ,'UNI 101' 
      ,studentid.stdID) 

我想到的另一个是使用while循环(因为MSSQL没有循环),但我实际上正在考虑如果上述将更容易和可行。

+1

'插入... select' –

+0

你的意思是这样的内容“选择id作为stdID从学生”你需要插入到其他表? –

+0

这个“价值 ('所有学生的标准课程' ,'UNI 101''它的所有行受到影响会有这个值。 –

回答

3

无需与条款

INSERT INTO [dbo].[course_log] 
      ([course_name] 
      ,[course_code] 
      ,[STUDENT_ID]) 
SELECT 
     'STANDARD COURSE FOR ALL STUDENTS' 
     ,'UNI 101' 
     ,stdID 
FROM student 
+0

好吧,这是非常简单的,我感到嘘...愚蠢,它的工作。谢谢! – sarmahdi