2013-10-30 53 views
0

我有一個關於SQL查詢的問題。我有2個表:SQL命令單列數據到另一個表

學生

student_ID (int, NOT allowed nulls) 
class_ID (int, NOT allowed nulls) 
email (varchar(50), NOT allowed nulls) 

竣工

student_ID (int, NOT allowed nulls) 
completed (bool, NOT allowed nulls) 
random_code (allowed nulls) 

Student充滿了學生證的,我想在表STUDENT也各student_IDstudent_ID在表COMPLETED和默認我想完成COMPLETED爲假。

現在我有以下查詢,因爲我希望它尚不能工作:

INSERT INTO COMPLETED (student_ID) 
    SELECT student_ID FROM STUDENT 

因爲COMPLETEDcompleted列不分配這尚不能工作,因此NULL這是不允許的。我如何完成我的查詢,它將完成的布爾分配給FALSE,並且還將STUDENT的學生ID複製到COMPLETED

在此先感謝。

+0

什麼RDBMS? MySQL的? SQL Server? Postgres的?甲骨文? IBM DB2?請更新您的標籤! –

回答

4

剛剛嘗試這一點(如果你使用SQL服務器 - 你不是在說清楚你的問題):

INSERT INTO COMPLETED (student_ID, completed) 
    SELECT student_ID, 0 
    FROM STUDENT 

如果你想提供一個值,你必須添加completedINSERT語句的列的列表,並且由於您要將所有這些值設置爲「false」(或SQL Server中的0),因此您只需在SELECT語句中提供該值。

+0

謝謝,它的工作原理! –

+1

@NiekJonkman你應該考慮接受答案,如果它可以幫助你。 – Bhushan

相關問題