事前設定された値とselect-queryから取得した値を挿入する方法はありますか?例えば:
INSERT INTO table1 VALUES ("A string", 5, [int]).
「A string」という値と5という数値がありますが、次のようなselectから[int]値を見つける必要があります。
SELECT idTable2
FROM table2
WHERE ...
これにより、そのidがtable1内に配置されます。
これを1つのステートメントにマージする方法は?
insert ... select
クエリを使用し、既知の値をselect
に入れます。
insert into table1
select 'A string', 5, idTable2
from table2
where ...
次のようなサブクエリを使用します。
INSERT INTO table1 VALUES ("A string", 5, (SELECT ...)).
INSERT INTO table_name1 (id、 name、 address、 contact_number) SELECT id、name、address、contact_number FROM table_name2;
これを試して
INSERT INTO TABLE1 (COL1 , COL2,COL3) values
('A STRING' , 5 , (select idTable2 from Table2) )
where ...
他のすべての答えは問題を解決し、私の答えは他の答えと同じように機能しますが、より教訓的にだけです(これはMySQLで動作します...他のSQLサーバーを知らない):
INSERT INTO table1 SET
stringColumn = 'A String',
numericColumn = 5,
selectColumn = (SELECT idTable2 FROM table2 WHERE ...);
MySQLのドキュメントを参照できます。 INSERT構文
INSERT INTO table1
SELECT "A string", 5, idTable2
FROM table2
WHERE ...
参照: http://dev.mysql.com/doc/refman/5.6/en/insert-select.html
以下を試してください:
INSERT INTO table1
SELECT 'A string', 5, idTable2 idTable2 FROM table2 WHERE ...
INSERT INTO table1 (col1, col2)
SELECT "a string", 5, TheNameOfTheFieldInTable2
FROM table2 where ...
これを試して:
INSERT INTO table1 SELECT "A string", 5, idTable2 FROM table2 WHERE ...