2011-02-12 76 views
1

我有類似下面的表格:任何人都可以用這個INSERT SQL語句來幫助我嗎?

owner Pet 
__________ 
Bob Joe 
Sam Rob 
Bob George 
Phil Marge 

現在,我要爲新東家,尼克創建一個INSERT語句。我想要插入我的聲明,以便對於Bob擁有的每一隻寵物,尼克擁有同一個名字。

我想這樣做是爲了完成我的任務:

​​

但上面不工作。任何人都可以告訴我我做錯了什麼?

+0

+1這是個好名字 – RichardTheKiwi

回答

5

你接近:

INSERT INTO TABLE (owner, Pet) 
SELECT 'Nick', Pet FROM Table WHERE owner = 'Bob' 
3

我認爲這樣做。

Insert Into Table (Pet, Owner) 
Select Pet, 'Nick' From Table Where Owner = 'Bob' 
0

我們可以讓它更簡單?

SELECT 'Nick', pet INTO table FROM table WHERE Owner = 'Bob' 
+0

選擇INTO創建一個新表。 –

+0

@Randy Minder:僅在SQL Server上 - 在Oracle中,它用於填充變量。 –

+1

如果您發佈代碼,XML或數據樣本,**請**在文本編輯器中突出顯示這些行,然後單擊編輯器工具欄上的「代碼示例」按鈕({}),以良好地格式化和語法突出顯示它! –

0

這會做你想要什麼:

create table t_test3 (ownr varchar(20) not null, pet varchar(20) not null); 
insert into t_test3 (ownr, pet) values ('bob', 'joe'); 
insert into t_test3 (ownr, pet) values ('sam', 'rob'); 
insert into t_test3 (ownr, pet) values ('bob', 'george'); 
insert into t_test3 (ownr, pet) values ('phil', 'marge'); 

insert into t_test3 
    select 'nick', pet from t_test3 where ownr = 'bob'; 

select * from t_test3; 
0

商店寵物茵var和在第二個查詢使用。

SELECT Pet INTO @PET FROM Table WHERE owner = 'Bob') 
INSERT INTO TABLE VALUES ('Nick', @PET) 

那就是你想要的?

0
INSERT Pets (owner, Pet) 
SELECT 'Nick', Pet 
FROM Pets 
WHERE owner = 'Bob' 

假設您的表名爲'Pets'。運行不帶插入的選擇,查看將首先插入的行。

相關問題