情况是我必须加入 10 多个不同的表。在 SQL 中,我加入同一个表 5 次。查询看起来像这样。
select * from
Tab1
join Tab2 on Tab1.x = Tab2.x
.
.
.
join Tab10 t10 on
t10.x = 'xx' and
t10.y = 'yy' and
t10.z = 'zz'
join Tab10 t11 on
t11.x = 'aa' and
t11.y = 'bb' and
t11.z = 'cc'
join Tab10 t12 on
t12.x = 'dd' and
t12.y = 'ee' and
t12.z = 'ff'
join Tab10 t13 on
t13.x = 'gg' and
t13.y = 'hh' and
t13.z = 'ii'
join Tab10 t14 on
t14.x = 'jj' and
t14.y = 'kk' and
t14.z = 'll'
这个 Tab10 加入 5 次的原因是根据参数得到不同的值。是否可以以更好的方式重写 Tab10 连接?我还注意到由于这个 Tab10 加入,性能很差。