【发布时间】:2016-01-15 13:43:18
【问题描述】:
前段时间,一个大的 Excel 文件被导入到 PostgreSQL 表中。 Excel 中的布局是这样的(将列表编号视为行号):
- 某列 |其他一些专栏 |又一个 | ...
- 描述文本 foo |说明text2 |吧富吧| ...
- 值 a |值 b |值 c | ...
- 值 aa |价值bb |价值 cc | ...
因此,标题行包含列名,然后是每一列的描述文本行,然后是数百行包含所有值的行。
在 PostgreSQL 中创建了两个表。
表1:
CREATE TABLE t1 (
t1_id integer NOT NULL
col1 inet,
some_other_col character varying,
another_one integer,
...
);
表2:
CREATE TABLE mapping (
mapping_id integer NOT NULL
colname character varying,
mapping character varying,
description character varying,
);
INSERT INTO mapping VALUES (1, 'col1', 'Some Column', 'Descriptiontext foo');
INSERT INTO mapping VALUES (2, 'some_other_col', 'Some other Column', 'Descriptiontext2');
INSERT INTO mapping VALUES (3, 'another_one', 'Yet another one', 'bar foo bar');
我现在的问题是,如何再次合并这些表格以导出与旧表格格式相同的 Excel 表格?我是否需要 PHP 或者仅使用 SQL 可以做到这一点?
【问题讨论】:
-
在 PHP 中使用 2 个查询可能会简单得多。第一个从
mapping获取数据并显示前两行(一个循环遍历每一行的结果),另一个用于获取其余数据并将它们显示为单独的行。 -
@jcaron 对我来说似乎很合理 - 添加它作为答案。
标签: php sql excel postgresql