如何最小化此Oracle SQL中使用的字符数?

时间:2019-02-08 10:22:03

标签: sql oracle

我使用的是一个可悲的旧ERP系统,用于报告,这限制了我在编写SQL时可以使用的字符数。 我在下面的选择中寻找一种优化字符使用的方法。这里可以妥协速度。

这是一个联合选择:

   SELECT col1,col2,col3 
     FROM tabelA
    WHERE col1=colX
UNION ALL
   SELECT col1,col2,col3 
     FROM tabelB
    WHERE col1=colX

我试图删除where子句,但是它并没有太大帮助,因为那我需要在每个select中重复两次colx,而且我不希望在报告中出现colX,所以我需要添加col1, col2,col3到最终选择:

 SELECT col1,col2,col3 
   FROM (
            SELECT col1,col2,col3,colX
         UNION ALL
            SELECT col1,col2,col3,colX
        )
WHERE col1=colX

还有其他想法吗?它必须是普通的SELECT。

BR Kresten

2 个答案:

答案 0 :(得分:2)

您可以像这样简单地创建视图:

CREATE VIEW my_view is
   SELECT col1,col2,col3 
     FROM tabelA
    WHERE col1=colX
UNION ALL
   SELECT col1,col2,col3 
     FROM tabelB
    WHERE col1=colX;

和简单的select * from my_view

答案 1 :(得分:0)

最好的方法是用一个查询创建一个保持(temp)表,然后运行另一个简单的选择查询来检索它。甚至尝试创建一个视图。 。但是我认为ERP不会接受。