不,这不是有效的ANSI。ANSI假定立即评估所有SELECT子句项。
而且我已经在sql 2005中将其编写为:
SELECT *
FROM (SELECT 1 AS X) X
CROSS APPLY (SELECT 2 * X AS Y) Y
CROSS APPLY (SELECT 3 * Y AS Z) Z
;
尽早(或重新排序)重用查询中的派生列-这是有效的ANSI SQL吗?
不,这不是有效的ANSI。ANSI假定立即评估所有SELECT子句项。
而且我已经在sql 2005中将其编写为:
SELECT *
FROM (SELECT 1 AS X) X
CROSS APPLY (SELECT 2 * X AS Y) Y
CROSS APPLY (SELECT 3 * Y AS Z) Z
;