我把两个select语句的结果集做内连接查询,如何修改语句可以提高执行效率.代码如下:
selectt.District,
t.Count,
t.set,
t.Area,
t1.Rooms,
t1.Area,
t.set-RoomsasUnRooms,
t.Area-t1.AreaasUnArea,
0asSaleCount,
0asSaleArea,
0asUnsaleCount,
0asUnsaleArea
from
(
selecta1.A1asdistrict,
count(a1.A1)asCount,
nvl(sum(b.b4),0)asArea,
nvl(sum(b.b5),0)asset
frombrightjoin
a1onnvl(b.b1,b.b2)=a1.A1andb.b3='1'
groupbya1.A1,a1.A2
orderbya1.A2
)tinnerjoin
(
selecta1.A1asdistrict,
nvl(sum(s.s3),0)asRooms,
nvl(sum(s.s4),0)asArea
fromsrightjoin
bons.s1=b.b6ands.s2=1rightjoin
a1onnvl(b.b1,b.b2)=a1.A1andb.b3='1'
groupbya1.A1,a1.A2
orderbya1.A2
)t1ont.district=t1.district;
我知道使用自查询会影响执行效率,但是我实在不清楚该怎么去修改sql语句,求各位大神指教.
分 -->
|