在同一个csv文件中导出两个表

时间:2013-04-21 00:46:23

标签: database sqlite export-to-csv

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

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

2 个答案:

答案 0 :(得分:2)

最佳答案取决于表之间的关系。表中的行是否包含1:1映射?一个表与另一个表有外键关系吗?

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

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

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

这假设您的表格格式正确并且具有良好定义的关系,您可以使用这些关系以合理的方式将它们连接在一起。

答案 1 :(得分: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