我有两个非常相似的大表,它们都由6个左连接组成。它们之间唯一的区别是第一个表与其他表的左连接不同,其他表的主select子句和其他表都是相同的。
一个简单的例子是:
Create table A as
Select a.attr, b.attr, ...
From
(Select attr
From table a
Where cond1, cond2, cond3) a
Left join
(Select attr
From table) b
on a.whatever = b.whatever
Left join ...;
Create table B as
Select a.attr, b.attr ...
From
(Select attr
From table a
Where cond1) a
Left join
(Select attr
From table) b
on a.whatever = b.whatever
Left join...;
我希望这是清楚的。唯一的区别是表'a'的where条件,其他所有的都连接到它。我如何优化它,这样我就不必编写两个几乎相同的查询?
1条答案
按热度按时间rkue9o1l1#
也许你可以先摆脱表a中的限制,得到结果,在使用时把它加