Java 仅将选定值从一个表复制到具有条件的另一个表

Java 仅将选定值从一个表复制到具有条件的另一个表,java,sql,sqlite,Java,Sql,Sqlite,我试图将所选值从一个表的行复制到另一个表,问题是SQLite为嵌套的SELECT命令提供了一个错误 java.sql.SQLException:作为表达式一部分的SELECT只允许一个结果 以下是我正在尝试的: INSERT INTO table2(ID, ProjectName ) SELECT ID, ProjectName FROM table1 Where table1.ID NOT IN table2 我不能在这里使用*,因为table1有四列,而table2只有三列。 所有需要做

我试图将所选值从一个表的行复制到另一个表,问题是SQLite为嵌套的
SELECT
命令提供了一个错误

java.sql.SQLException:作为表达式一部分的SELECT只允许一个结果

以下是我正在尝试的:

INSERT INTO table2(ID, ProjectName ) 
SELECT ID, ProjectName FROM table1
Where table1.ID NOT IN table2
我不能在这里使用
*
,因为
table1
有四列,而
table2
只有三列。 所有需要做的就是检查
table1
中的
ID
值是否不存在于
table2
中,然后只复制
ID
,以及
table1
中相应的
ProjectName
值,并将其作为
ID,ProjectName,null
插入表2中

null表示表2中的第三列值


任何建议或帮助都会很好

您的查询就在这里:

INSERT INTO table2(ID, ProjectName ) 
    SELECT ID, ProjectName
    FROM table1
    Where table1.ID NOT IN (select table2.id from table2);

这是标准的SQL,所以它应该可以在任何数据库中工作。

Bravo,工作起来很有魅力。我没有意识到最后一部分,我也应该从表2中选择ID列。这么愚蠢的错误:-D非常感谢。