我正在尝试将选定的值从一个表的行复制到另一个表,问题是SQLite为嵌套的SELECT
命令提供了错误
java.sql.SQLException: only a single result allowed for a SELECT that is part of an expression
以下是我的尝试:
INSERT INTO table2(ID, ProjectName )
SELECT ID, ProjectName FROM table1
Where table1.ID NOT IN table2
我在这里无法使用*
,因为table1
有四列而table2
只有3列。
所有必须做的就是检查ID
中table1
中是否存在来自table2
的任何ID
值,然后仅复制来自ProjectName
的相应table1
值ID, ProjectName , null
并将其作为{{1}}
null用于table2中的thrid列值。
任何建议或帮助都会很棒
答案 0 :(得分:2)
您的查询几乎就在那里:
INSERT INTO table2(ID, ProjectName )
SELECT ID, ProjectName
FROM table1
Where table1.ID NOT IN (select table2.id from table2);
这是标准SQL,因此它应该适用于任何数据库。