我使用的是一个可悲的旧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
答案 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不会接受。