【发布时间】:2015-05-28 04:57:26
【问题描述】:
我需要使用 pentaho 水壶填充一个 excel 模板。 我正在从 sql server 和 oracle DB 中检索数据。 但我的模板是行虎钳,就像我必须从表中检索名称和 ID 列并将其放入 2 行。为此,我使用了 2 个单独的 select sqls 和 UNION。我需要知道是否有任何其他简单的方法来代替使用 UNION,因为几乎有 200 行,我需要使用 200 个选择 sql,即使我只从 4 或 5 个表中检索数据。
以下是我使用的示例选择,
SELECT EMP_COMMON_NAME "EmpDetail" FROM TBL_Emp WHERE emp_modified_Date = getdate() AND emp_id = '11' UNION ALL
SELECT EMP_UWI FROM TBL_Emp WHERE emp_modified_Date = getdate() AND emp_id = '11' UNION ALL
SELECT EMPBORE_NAME FROM TBL_EmpBORE WHERE emp_modified_Date = getdate() AND emp_id = '11' UNION ALL
SELECT TO_CHAR(EMPBORE_NO) FROM TBL_EmpBORE WHERE emp_modified_Date = getdate() AND emp_id = '11' UNION ALL
SELECT DESIGNATION FROM TBL_Emp WHERE emp_modified_Date = getdate() AND emp_id = '11' UNION ALL
SELECT TO_CHAR(GEO_LATITUDE) FROM TBL_Emp WHERE emp_modified_Date = getdate() AND emp_id = '11' UNION ALL
SELECT TO_CHAR(WATER_DEPTH) FROM TBL_Emp WHERE emp_modified_Date = getdate() AND emp_id = '11'
【问题讨论】:
-
你能分享你的代码吗?
-
每条sql返回多行?
-
应该单独返回单行。它是单个员工的详细信息
-
这里每一行都有不同的列结果权(例如:- 第一行结果有 Emp Name,第二行结果有 Emp UWI 等等,。)。如果 sql 按列返回而不是按行返回,在这些条件下你有什么问题吗?
-
如果 sql 返回列式数据,我将无法将其放入我的模板中。所以我将每个列值放在一个单独的 sql 中,我想知道,是否有更多可用选项而不是使用 UNION
标签: sql sql-server oracle export-to-excel kettle