0

目前我有一份报告查看不同类型的文件。每个文件都有一个指定的时间范围,它应该在(即 2 天、4 天等)之前完成。有100多种文件。目前,为每个文档分配的时间尺度保存在 Excel 电子表格中,并使用 vlookup 公式(基于评估 ID)与 excel 中的数据相匹配。不幸的是,我们的数据库中没有地方可以放置这个指定的时间刻度,但我希望能够从数据库运行报告并将其发送给用户,而无需在 Excel 中进行这种额外的操作。我知道我可以通过编写大量案例陈述来实现这一点(下面只是一个例子)

IE

SELECT
ID,
CASE WHEN ID = 1 then '1 day' 
WHEN ID = 2 then '42 days'
WHEN ID = 3 then '16 days'
ELSE 'CHECK' end as 'Timescale'
FROM TABLE1

但我确实想知道在 SQL 中是否有更有效的方法来执行此操作(除了在数据库中请求一个额外的字段来记录这个!)?可能没有,但认为值得一问!谢谢。

4

2 回答 2

5

如果您有 100 个不同的时间尺度,那么将 TIMESCALE 表添加到您的数据库并避免在电子表格中存储对您的业务很重要的信息是合理的。没有什么反对 Excel,优秀的产品,我的一些最好的朋友是 Excel 电子表格 - 但我不会在其中存储关键业务信息。

分享和享受。

于 2012-06-22T11:16:47.147 回答
0

所以你想在一个 Oracle 表和一个 Excel 表之间加入......

我认为这并非完全不可能。有2种方式。

方式1.您可以在Oracle中进行加入。这意味着您必须编写一个可以读取 excel 表的 Java 存储过程。下一步是创建用于包装此 Java 存储过程的 PL/SQL 包装器。之后,您可以编写一条通过 PL/SQL 包装器调用 Java 存储过程的 SQL 语句,该 SQL 语句可以与您的 Oracle 表进行连接。

是的,确实,这非常复杂。

方式 2。我认为您可以通过 ODBC 从 Excel 表连接到 Oracle。应该可以在 excel 中从 Oracle 获取数据。所以excel可以为你做join。

是的,确实,这非常复杂。

您也可以将这些额外数据放入新的 Timescale 表中(如 Bob Jarvis 建议的),但您必须在 excel 表和 Oracle 表之间进行同步。

您还可以将所有数据移至 Oracle。或者,也许您可​​以将所有数据移动到 excel(可能不是)?

于 2012-06-22T12:55:58.153 回答