2011-12-17 7 views
2

私はおそらくこれを行う簡単な方法があることを知っていますが、私はどのように覚えているように見えることはできません。既存のテーブルから挿入しますか?

基本的には、ID1とID2の2つのフィールドを持つテーブルがあります。私はid2 = 1のすべてのフィールドを見つけて、そのid1と別のid2を持つテーブルに別のレコードを挿入します。

だから、私は新しいレコードをしたいすべてのフィールドを選択するためのクエリは次のとおりです。

select id1 from mytable where id2 = 1 

そして、私は挿入するこれらのそれぞれに対して:

insert into mytable(id1, id2) values([this id1], 6) 

答えて

3

あなたは基本的に持っています既に作成した2つのクエリをわずかに異なる方法で結合します:

INSERT INTO mytable (id1, id2) 
SELECT id1, 6 FROM mytable WHERE id2 = 1 
+0

すごいです、ありがとう。あなたはどちらも速いです。 – froadie

+0

私は1分ほどで私たちを打ち負かすこの1つのcuzを受け入れると思います:)すぐに応答することに感謝します。 (できるだけ早く受け入れます) – froadie

1

望む?

INSERT INTO mytable(id1, id2) 
SELECT id, 6 
FROM mytable 
WHERE id2 = 1 
+0

迅速な対応に感謝します! – froadie

0

わかりました。ちょうど構文が間違っていた。 (質問を削除しますが、できない)

insert into mytable (id1, id2) 
select id1, 6 from mytable where id2= 1 

(私はこのような構文で苦しんでいた:

insert into mytable (id1, id2) 
values((SELECT id1 FROM mytable WHERE id2 = 1), 6) 

し、それを再配置する方法を見つけ出すことができませんでした)

+0

正確に。しかしこれは私があなたの前に数分前に投稿した答えと同じです - だからあなたはそれらの1つを受け入れ、他の人が見つけるためにここに質問を残すべきです。 –

+0

が合意した、私は彼が実際に私の前に答えたので、ちょうど誰かが将来これを必要とする場合に備えて –

関連する問題