尝试:
INSERT INTO table1 ( column1 )
SELECT col1
FROM table2
这是标准的 ANSI SQL,应该适用于任何 DBMS
它肯定适用于:
@ Shadow_x99 :这应该可以正常工作,你也可以有多列和其他数据:
INSERT INTO table1 ( column1, column2, someInt, someVarChar )
SELECT table2.column1, table2.column2, 8, 'some string etc.'
FROM table2
WHERE table2.ID = 7;
编辑:我应该提一下,我只使用 Access,SQL 2000/2005 / Express,MySQL 和 PostgreSQL 这种语法,所以应该涵盖这些。一位评论者指出它可以与 SQLite3 一起使用。
为了从另一个表中获取多值INSERT
中的一个值,我在 SQLite3 中执行了以下操作:
INSERT INTO column_1 ( val_1, val_from_other_table )
VALUES('val_1', (SELECT val_2 FROM table_2 WHERE val_2 = something))