【问题标题】:Export two tables in the same csv file在同一个 csv 文件中导出两个表
【发布时间】:2013-04-14 03:48:22
【问题描述】:

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

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

【问题讨论】:

  • 我认为您正在使用这种技术:stackoverflow.com/questions/6076984/…,因为您没有提到编程语言。如果您使用特定的编程语言(例如 c# 或 php),可能有几种方法可以做到这一点,具体取决于您希望输出文件的外观。
  • 我只是在Ubuntu中使用终端:.output file.csv .mode csv

标签: database sqlite export-to-csv


【解决方案1】:

最佳答案取决于表之间的关系。表中的行是否包含 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

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

【讨论】:

    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 2017-09-28
      • 2023-04-01
      • 1970-01-01
      • 2018-07-21
      • 1970-01-01
      • 1970-01-01
      • 2023-03-11
      • 2018-01-26
      • 2023-04-04
      相关资源
      最近更新 更多