69

選択クエリから取得した事前設定値と値を挿入する方法はありますか? 例えば:

INSERT INTO table1 VALUES ("A string", 5, [int]).

「文字列」と数字の 5 の値がありますが、次のような選択から [int] 値を見つける必要があります。

SELECT idTable2
FROM table2
WHERE ...

これにより、table1 に入れる ID が得られます。

これを1つのステートメントにマージする方法は?

4

10 に答える 10

103

insert ... selectクエリを使用して、既知の値を に入れselectます。

insert into table1
select 'A string', 5, idTable2
from table2
where ...
于 2013-03-20T12:34:02.807 に答える
88

次のようなサブクエリを使用するだけです。

INSERT INTO table1 VALUES ("A string", 5, (SELECT ...)).
于 2013-03-20T12:34:22.073 に答える
18
 
INSERT INTO table_name1
            (ID、
             名前、
             住所、
             contact_number)
ID、名前、住所、contact_number FROM table_name2; を選択します。   
于 2015-02-16T11:03:16.863 に答える
12

これを試して

INSERT INTO TABLE1 (COL1 , COL2,COL3) values
('A STRING' , 5 , (select idTable2 from Table2) )
where ...
于 2013-03-20T13:06:40.800 に答える
8

他のすべての回答は問題を解決し、私の回答は他の回答と同じように機能しますが、より教訓的な方法で機能します(これはMySQLで機能します...他のSQLサーバーを知りません):

INSERT INTO table1 SET 
  stringColumn  = 'A String', 
  numericColumn = 5, 
  selectColumn  = (SELECT idTable2 FROM table2 WHERE ...);

MySQLのドキュメントを参照できます:INSERT構文

于 2013-03-20T13:37:08.323 に答える
2
INSERT INTO table1 
SELECT "A string", 5, idTable2
FROM table2
WHERE ...

参照: http://dev.mysql.com/doc/refman/5.6/en/insert-select.html

于 2013-03-20T12:34:46.630 に答える
1
INSERT INTO table1 (col1, col2)
SELECT "a string", 5, TheNameOfTheFieldInTable2
FROM table2 where ...
于 2013-03-20T12:36:20.437 に答える
1

次のことを試してください。

INSERT INTO table1 
SELECT 'A string', 5, idTable2 idTable2 FROM table2 WHERE ...
于 2013-03-20T12:33:08.330 に答える
0

これを試して:

INSERT INTO table1 SELECT "A string", 5, idTable2 FROM table2 WHERE ...
于 2013-03-20T12:34:27.817 に答える