我正在使用 ColdFusion 和 SQL 设计报告。报告有 3 个部分。现在所有 3 个部分都使用相同的数据集,但对其进行不同的处理以显示不同的结果。我为此使用了 CTE。我已经为 3 个部分写了 3 个查询。
WITH allOrders AS(
Main query[With a lot of Joins]
)
SELECT [Manupulated_Resultset_1]
FROM allOrders
WITH allOrders AS(
Main query[With a lot of Joins]
)
SELECT [Manupulated_Resultset_2]
FROM allOrders
WITH allOrders AS(
Main query[With a lot of Joins]
)
SELECT [Manupulated_Resultset_3]
FROM allOrders
因此,对于这三个部分,它访问数据库 3 次,而对于所有情况,主查询保持不变,只有子查询发生变化。我知道这可以以更好的方式完成。所以我需要一种方法来存储一次主查询结果,然后使用它来获取不同的操作结果。
我不能在 ColdFusion 中使用查询查询来获取操纵的结果集,它涉及到很多 QOQ 不支持的操作。
那么SQL中有什么办法吗?