无法在 CROSS APPLY 中绑定多部分标识符

The multi-part identifier could not be bound in CROSS APPLY

我在 SO 上看到过类似的错误,但我没有找到解决我的问题的方法。我有一个 SQL 查询,例如:

select a.abc,b.acd
from A,B,C
Cross Apply fnGet(A.id) D
WHERE A.ID = B.ID
AND D.CHILD = C.CHILD

当我执行这个查询时,错误结果是:无法绑定多部分标识符"A.ID"。这是因为我正在使用 CROSS APPLY 吗?

使用 ANSI 92 连接语法而不是逗号分隔连接

SELECT a.abc,
       b.acd
FROM   A
       JOIN B
         ON A.ID = B.ID
       CROSS APPLY dbo.fnGet(A.id) D
       JOIN C
         ON D.CHILD = C.CHILD