4

我正在用 Oracle 编写 SQL。在 SQL 中,我使用了两次相同的子查询。我正在尝试找到替换此类常见子查询或可重用查询的最佳方法。

我正在考虑为子查询创建一个视图,但我不允许这样做。全局临时表可能是其他解决方案,但我开始知道这些表并不是真正用于动态创建和删除的。

4

1 回答 1

6

您可以使用视图或全局临时表,但通常最好使用 WITH 子句,例如:

WITH q AS
  (SELECT something FROM mytable)
SELECT something FROM q
UNION ALL
SELECT something+1 FROM q;
于 2012-05-08T04:28:19.100 回答