目前,我正在使用类似于以下语句的内容来创建类似结构的临时表。Oracle - 从双重选择常量值作为M x N表
WITH CONFIGURATION AS (
SELECT 'some blah value' AS BLAH , 'some blee value' AS BLEE FROM DUAL
UNION
SELECT 'some other blah value' AS BLAH, 'some other blee value' AS BLEE FROM DUAL
)
SELECT 'BLAH BLAH' FROM CONFIGURATION C, SOME_OTHER_TABLE T WHERE C.BLAH=T.BLAH
,我要面对这里的问题是,当我要实现的10x7表结构相同结构的查询变得相当大而凌乱。
有没有更简单的方式来实现这一目标使用DUAL
或任何其他系统表,而不必使用UNION
并重写SELECT FROM DUAL
多次?
不规则注:
- 我有这个数据库没有DDL许可。否则,我就已经创建了一个表,实现这一目标已经
- 数据库版本的Oracle 11g的M×N的结构里面
- 的数据是要在性质上
考虑到您拥有DML权限,这是一个很好的方法。如果格式正确,不再需要多长时间才能读取和维护。 – Incognito
使用Oracle子查询因子分析,可以在WITH子句中使用多个唯一语句,并通过使用别名和逗号将它们“菊花链”连接在一起。更好地使用别名应该可以更容易地管理你的WITH内容。看看这个网站的例子:http://www.dba-oracle.com/t_sql99_with_clause.htm – DanK
使用'UNION ALL'在'select .. from dual'语句而不是'UNION'中,以避免不必要的操作各种/ distincts。另外,如果你的数据无法使用@Mat建议的连接,并且你不能在数据库上执行DDL(并且没有你可以插入的相应表),那么你就不能使用'UNION ALL'来模拟你的“数据表”。 – Boneist