我有類似下面的表格:任何人都可以用這個INSERT SQL語句來幫助我嗎?
owner Pet
__________
Bob Joe
Sam Rob
Bob George
Phil Marge
現在,我要爲新東家,尼克創建一個INSERT語句。我想要插入我的聲明,以便對於Bob擁有的每一隻寵物,尼克擁有同一個名字。
我想這樣做是爲了完成我的任務:
但上面不工作。任何人都可以告訴我我做錯了什麼?
我有類似下面的表格:任何人都可以用這個INSERT SQL語句來幫助我嗎?
owner Pet
__________
Bob Joe
Sam Rob
Bob George
Phil Marge
現在,我要爲新東家,尼克創建一個INSERT語句。我想要插入我的聲明,以便對於Bob擁有的每一隻寵物,尼克擁有同一個名字。
我想這樣做是爲了完成我的任務:
但上面不工作。任何人都可以告訴我我做錯了什麼?
你接近:
INSERT INTO TABLE (owner, Pet)
SELECT 'Nick', Pet FROM Table WHERE owner = 'Bob'
我認爲這樣做。
Insert Into Table (Pet, Owner)
Select Pet, 'Nick' From Table Where Owner = 'Bob'
我們可以讓它更簡單?
SELECT 'Nick', pet INTO table FROM table WHERE Owner = 'Bob'
選擇INTO創建一個新表。 –
@Randy Minder:僅在SQL Server上 - 在Oracle中,它用於填充變量。 –
如果您發佈代碼,XML或數據樣本,**請**在文本編輯器中突出顯示這些行,然後單擊編輯器工具欄上的「代碼示例」按鈕({}),以良好地格式化和語法突出顯示它! –
這會做你想要什麼:
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;
商店寵物茵var和在第二個查詢使用。
SELECT Pet INTO @PET FROM Table WHERE owner = 'Bob')
INSERT INTO TABLE VALUES ('Nick', @PET)
那就是你想要的?
INSERT Pets (owner, Pet)
SELECT 'Nick', Pet
FROM Pets
WHERE owner = 'Bob'
假設您的表名爲'Pets'。運行不帶插入的選擇,查看將首先插入的行。
+1這是個好名字 – RichardTheKiwi