我正在尝试比较具有相同列的两个表中的数据,寻找差异。一个表代表“实时”数据,另一个实际上是存档:
表:实时、存档
列:ID、姓名、年龄、性别
因此,例如,我们可以拥有实时数据:
Id Name Age Gender
-- --------- --- ------
1 Alan 31 Male
2 Betty 22 Female
档案可能是:
Id Name Age Gender
-- --------- --- ------
1 Alan 30 Male
2 Lizzy 20 Female
对于任何给定的 Id 值,我想要做的是找出这两个表中的数据是如何变化的。因此,如果我针对 Id=1 运行查询,理想情况下我会喜欢这样的结果:
Column Live Archive
------ ------- --------
Age 31 30
对于 Id=2:
Column Live Archive
------ ------- --------
Name Betty Lizzy
Age 22 20
不同的是,我想对任意两个表运行此查询(知道它们将具有相同的列),因此我无法命名查询中的列。
我怀疑这在理论上是可能实现的,因为您可以向 sqlite DB 本身询问任何给定表的列 - 或者至少您可以使用编译指示。
我想在这里做太多了吗?如果是这样,如果我明确命名查询中的列(例如在查询表的列名后在运行时构建查询字符串) ,是否可以获得我正在寻找的结果类型?