SQLite:将数据库1中的表中的值插入到database2中的表中,而不进行覆盖

时间:2015-05-13 22:58:36

标签: sql sqlite merge inner-join

我真的无法绕过这个。我们在冲突的数据库中手动编写textbits是两个人(我知道,这并不酷),现在我们需要整合我们的工作。对不起,如果它是重复的,但我没有从其他答案得到它。请耐心等待,我需要帮助。

两个不同的数据库需要合并一列,如果可能,请避免覆盖。

His database:         My database:     RESULT:

Database 1            Database 2        Database 2
Table1                Table1            Table1
A Column              A Column          A Column

Blah                  NULL              Blah
NULL                  Bla               Bla
Bla                   Bla               Bla Bla

我猜INNER JOIN和INSERT INTO混在一起?

我们正在使用SQL编辑器在名为Valentina Studio的GUI中工作。

2 个答案:

答案 0 :(得分:0)

尝试类似

的内容
Insert into tab3 (col1) 
Select col1 from tab1 where col1 is not null
Union 
select col1 from tab2 where col1 is not null

答案 1 :(得分:0)

当您自己的值为NULL时,您希望复制另一个值:

UPDATE db2.Table1
SET AColumn = (SELECT AColumn
               FROM db1.Table1
               WHERE db1.Table1.ID = db2.Table1.ID)
WHERE AColumn IS NULL;

当你自己的列有一个值时,如果它不是NULL,你想要追加另一个值:

UPDATE db2.Table1
SET AColumn = AColumn || IFNULL((SELECT ' ' || AColumn
                                 FROM db1.Table1
                                 WHERE db1.Table1.ID = db2.Table1.ID),
                                '')
WHERE AColumn IS NOT NULL;