Sqlite EXCEPT and ALTER TABLE

3

我有两个表格,结构相同。这两个表格是每月的快照:table1=一月,table2=二月。

因为我想比较添加和删除的行,所以我使用了两次EXCEPT:

获取添加的行:

select * from table1 
EXCEPT
select * from table2

要删除行:

select * from table2 
EXCEPT
select * from table1

在两种情况下,我希望在结果表中添加“月份/添加-删除时间戳”列,然后将这两个结果表合并。我不知道如何在sqlitebrowser中实现。有人能帮忙吗?谢谢。
1个回答

1

要向查询结果添加列,只需将其添加到SELECT子句中。 为了防止它影响EXCEPT,将EXCEPT移动到子查询中:

SELECT *, 'added'
FROM (select * from table1
      EXCEPT
      select * from table2)
UNION ALL
SELECT *, 'removed'
FROM (select * from table2
      EXCEPT
      select * from table1);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接