好的,这是解决我的问题的第二次尝试,对于那些将第二次阅读本文的人,我希望它足够清楚以理解问题。
我正在为报告开发一个查询,问题是在从数据库中检索数据时,该报告应该填充一些不存在的行。为了说明目的,假设我有这些表:
Table 1 - Companies
Table 2 - Transactions.
Table 3 - Transaction types.
大多数公司没有所有交易类型的交易的重要细节。尽管报告逻辑需要对所有这些公司进行反演:具有真实货币价值的“真实”公司和其他只有 0 美元的不存在的公司。问题从这里开始,因为交易类型组合在逻辑组中,所以假设一家公司只有 1 笔 type_1 的真实交易,报告应该包含与 type_1 相关的其他类型的“$0”记录,如 type_2、type_3 和 type_4。如果公司有 type_1 和 type_2 的交易,报告应填充来自不同交易类型组等的其他一些交易类型。
这里的问题是它应该执行的环境必须是纯 sql(作为一个 java 程序员,我知道查询数据库、将数据加载到 array[][] 并添加缺少的事务类型是多么容易)——但是查询应该在 plsql 批处理中的 UNIX 上运行,因此它应该是单个(或连接)选择。
提前致谢。任何帮助或想法将不胜感激!