比较多个表格

时间:2012-10-16 12:06:21

标签: c# sqlite datatable

我的工作场所有一个可怕的遗留工具已经更新/修补,可以将信息输出到SQLite数据库。没有人想触及系统的后端,我不知道深入研究它 - 不是我的问题。不过这是我的问题:

我有一个SQLite数据库,里面有很多表。每个表代表一天并包含所有公共汽车运行,列出如下:

| Direction |   Time   | RunNumber | StopIndex |
 ----------------------------------------------
|    In     |   6:30   |     1     |     1     |
|    In     |   6:35   |     1     |     2     |
|    In     |   6:40   |     1     |     3     |
|    In     |   6:45   |     1     |     4     |
|    In     |   7:30   |     2     |     1     |
|    In     |   7:35   |     2     |     2     |
|    In     |   7:40   |     2     |     3     |
|    In     |   7:45   |     2     |     4     |
|    Out    |   6:40   |     1     |     1     |
|    Out    |   6:45   |     1     |     2     |
|    Out    |   6:50   |     1     |     3     |
|    Out    |   6:55   |     1     |     4     |

有些日子可能比其他日子更多。所有表格的止损数量都相同。

等于的定义是方向和时间都是相同的。每次运行都被视为一个集合 - 如果一个停止次数不同,那么整个运行需要合并到一个表中。

我的问题是:

在给定表列表的情况下,生成另一个包含所有给定表中不存在的值的表的最简单方法是什么?这可以在SQLite端完成,也可以在C#.NET 4.0上完成。

实际上,我只需要知道不同的运行编号,因此我可以稍后将其提取并将其放入Excel电子表格中,如果这样可以更容易。

1 个答案:

答案 0 :(得分:0)

尝试使用EXCEPT。例如,以下查询将列出Table1中存在但Table2中不存在的所有行:

SELECT Direction, Time, RunNumber, StopIndex
FROM Table1
EXCEPT
SELECT Direction, Time, RunNumber, StopIndex
FROM Table2
相关问题