Java 仅将选定值从一个表复制到具有条件的另一个表
我试图将所选值从一个表的行复制到另一个表,问题是SQLite为嵌套的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只有三列。 所有需要做
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非常感谢。