【问题标题】:OpenOffice Base - Merge >200 tables into oneOpenOffice Base - 将 >200 个表合并为一个
【发布时间】:2017-10-31 21:23:07
【问题描述】:

我是 OpenOffice Base 的新手。在几个小时内,我将拥有大约 290 个具有相同标题的表。将所有这些合并到一 (1) 个表中的最快和最简单的方法是什么?

【问题讨论】:

  • 您的数据库引擎是什么——例如 MySQL、PostgreSQL 或内置的 HSQLDB 1.8?
  • 我刚刚安装了 OpenOffice Basic。我假设它使用了内置的 HSQLDB 1.8。

标签: merge openoffice-base


【解决方案1】:

转到Tools -> SQL 并使用CREATE TABLE AS 语法。使用像 Vim 这样的文本编辑器,可以快速为所有 290 个表创建这样的命令。

create table Table3 as
select * from Table1
union select * from Table2
union select * from Table3
union select * from Table4;

要查看新表,请转至View -> Refresh Tables

这个例子是用 MySQL 测试的。语法可能因数据库引擎而异。

编辑

上述命令不适用于 HSQLDB 1.8,因此您必须使用不同的引擎。您是如何建立连接的?

无论如何,对于 MySQL 中所有可用的表名,请参阅Get table names using SELECT statement in MySQL。对于 HSQLDB,请参阅How to see all the tables in an HSQLDB database?

【讨论】:

  • 有效,但会弄乱我的数据。嘘**,我没想到。放入一张表的记录是“材料清单”。如果每条记录都包含原始表名,那么上面的“联合”将是完美的。我必须创建一个表并使用... INSERT INTO "T" SELECT * FROM "16330000" UNION SELECT * FROM "16630020" ....);
  • 我正在努力解决这个问题。给自己做了一个宏来修改“a”表:删除列,添加列,用表名更新添加的列。它可以工作,但是...我到底如何遍历所有可用表的哪个列表?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-02-22
  • 2014-04-01
  • 2014-11-11
  • 1970-01-01
  • 2014-01-27
  • 1970-01-01
相关资源
最近更新 更多