2009-08-16 15 views
2

特定のテーブルにアイテムのリストがあり、最初のテーブルのIDと他の列の別の定数値を持つ別のテーブルが必要です。質問を挿入

私は次のクエリ持っている:

INSERT INTO table02(item_id, status, card_status) VALUES((SELECT item_id FROM table01), -1, 10); 

をしかし、それは最初の行のみで動作します。

どのようにすべての行に対応させることができますか? table01からすべてのIDをコピーし、他の列に-1と10の値を割り当てる必要があります。

ありがとうございました。 ANSI SQLでは

答えて

6
INSERT INTO table02 (item_id, status, card_status) SELECT item_id, -1, 10 FROM table01; 
3

それは次のようになります。

状態とcard_statusがハードコードされた値です
INSERT INTO table02(item_id, status, card_status) 
SELECT item_id, status, card_status FROM table01; 

...ここでもうまくいくと思います。

3

私は、デフォルトでtable02を作成し、table01からのみitem_idを挿入します。

CREATE TABLE table02 (item_id INTEGER PRIMARY KEY, 
         status INTEGER DEFAULT -1, 
         card_status INTEGER DEFAULT 10); 
INSERT INTO table02 (item_id) SELECT item_id FROM table01; 
関連する問題