现在我有以下sql:
SELECT MAX(a), MIN(a)
FROM t1 join t2 join t3
UNION ALL
SELECT MAX(b), MIN(b)
FROM t1 join t2 join t3
UNION ALL
SELECT MAX(c), MIN(c)
FROM t1 join t2 join t3
UNION ALL
SELECT MAX(d), MIN(d)
FROM t1 join t2 join t3
虽然表t1,t2,t3都很大,但加入它们非常慢。
如何在此查询中仅加入一次?别名表或创建临时表(查询范围)?
和
提前致谢!
答案 0 :(得分:0)
在SQL Server中,您可以使用横向连接:
SELECT v.x
FROM t1 join
t2
on . . . join
t3
on . . . cross apply
(values (a), (b), (c), (d)) v(x);