0

如果我的 test.db 是一个 sqlite 数据库,我有两个表,比如 tabA 和 tabB,是否可以将两个表的数据导出到一个 myFile.csv 中?

我知道如何单独导出表,但我想知道是否可以将它们导出到同一个文件中。

4

2 回答 2

2

最好的答案取决于表之间的关系是什么。表中的行是否包含 1:1 映射?一张表与另一张表是否存在外键关系?

这很重要的原因是因为它关键地决定了您如何进行下一步,即将表组合(或联接)在一起。连接表后,您可以轻松地从 ResultSet 中导出所需的数据。

例如,如果 tabB 包含为 tabA 的行中包含的订单订购的项目,那么您的 tabB 很可能与 tabA 具有外键多对一关系,并且可以像这样连接在一起。

SELECT a.* b.*
FROM tabA AS a
JOIN tabB AS b ON a.primary_key = b.foreign_key

这假设您的表格式正确并且具有明确定义的关系,您可以使用该关系以一种有意义的方式将它们连接在一起。

于 2013-04-21T01:02:42.947 回答
2

如果 tabA 有 A、B、C 列,而 tabB 有 A、B、C 列(即一对一映射)

SELECT A, B, C from tabA 
union  
SELECT A, B, C from tabB

您可以对不匹配的列使用常量

SELECT A, B, NULL from tabA 
union  
SELECT A, NULL, C from tabB
于 2013-04-21T01:40:40.410 回答