注册

关键词OUTER APPLY无法解析?

DM_LUO 2024/03/08 557 4 已解决

【DM版本】:dm8_20230808_rev197096_x86_rh6_64_single.tar
【操作系统】:Docker version 25.0.3, build 4debf41
【CPU】:
【问题描述】*:数据库是由SQL Server迁移至DM8的,原本的OUTER APPLY语法在DM8中不能使用了,报错:列[APPLY]附近出现错误: 语法分析出错
于是我搜索OUTER APPLY,居然在官方手册里面找到这个4.2.8 JOIN APPLY,其中就有OUTER APPLY的例子,我尝试了一下,还是报错:

总共1个语句正依次执行... [执行语句1]: SELECT * FROM T1 OUTER APPLY(SELECT * FROM T2 WHERE C1=D1); 执行失败(语句1) -2007: 第 1 行, 第 45 列[APPLY]附近出现错误: 语法分析出错 1条语句执行失败

这种情况是数据库版本太低了吗?
另外,OUTER APPLY有没有替代写法?
我想实现的是可以在子查询中以外部表的字段作为查询条件,但join是不能实现的。

SELECT A.*,B.Id AS BId FROM T1 A OUTER APPLY ( SELECT TOP 1 Id FROM T2 WHERE T1Id = A.Id ORDER BY Id DESC ) B
回答 0
暂无回答
扫一扫
联系客服