2017-03-08 76 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