【问题标题】:Pentaho Kettle Excel template formatting & SQL data retrievalPentaho Kettle Excel 模板格式化和 SQL 数据检索
【发布时间】: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


【解决方案1】:

我认为没有解决方案可以将两个或多个选择查询的结果集组合成一个结果集。

可能的解决方案是 UNION 或 UNION ALL。

UNION 将两个或多个 select 的结果集组合成一个结果集,其中包括 union 中所有查询的所有行,其中作为 JOINS,根据表之间的逻辑关系从两个或多个表中检索数据。

我认为这些信息对你有用。

谢谢。

【讨论】:

  • 您好文卡特什,谢谢。我已经使用行规范化步骤将列转换为行。
  • 哦.. 我只考虑多种 sql 方式。我完全忘记了转型谢谢你说。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-25
  • 1970-01-01
  • 1970-01-01
  • 2015-06-27
  • 1970-01-01
  • 1970-01-01
  • 2013-08-26
相关资源
最近更新 更多