2016-03-08 76 views
0

剛剛開始使用SQL進行編程,但無法讓我的代碼正常工作。SQL將數值添加到具有選擇的列表

我想添加一行到我的表語言中,表語言有一個國家代碼,語言的名稱和說這種語言的人的百分比。

我已經看到在另一個帖子裏說我有一個新的價值添加到我的列表使用下面的命令:

INSERT into language 
Values(val1, val2, val3, val4) 

所以我想尋找到我的指定的表來選擇我的語言土地碼我查找國家「澳大利亞」的土地代碼的國家(本文下面代碼的第3行)。我只是輸入語言的名稱作爲一個字符串(本文後面代碼的第4行)。最後,我通過查看名爲country的表中的人口來選擇居住在澳大利亞的人數,如果name =「Astralia」(line下面的代碼)的5

insert into language 
values(
select Code from country where Name = "Australia", 
"Light Warlpir", 
select 350/population from country where Name = "Australia") 

我只是不明白爲什麼我的代碼不工作,這合法使用SELECT命令到一個SQL命令插入?

  • 我使用的是開源數據庫蒙迪艾爾

非常感謝您的幫助:)

回答

2

子查詢需要自己的括號內。但是,在這種情況下,最好是使用insert . . . select編寫查詢:

insert into language 
    select Code, 'Light Warlpir', 350/population 
    from country 
    where Name = 'Australia'; 

注意:您應該列出列的insert,所以它應該這樣開始:

insert into language(Code, Name, Percentage) 

(或任何列是)。