DB2 无法 select 来自内部查询的不同列值
DB2 Unable to select distinct column values from inner query
我有一个简单的 DB2 SQL 查询:
SELECT DISTINCT a FROM (SELECT a, b FROM schema.table WHERE APPR_STATUS = 'Approved');
当我在 DBeaver 内的 DB2 数据库上尝试对任何 table 进行这样的示例查询时,我收到以下错误:
SQL Error [56038]: ATTEMPT TO USE A FUNCTION WHEN THE APPLICATION COMPATIBILITY SETTING IS SET FOR A PREVIOUS LEVEL. SQLCODE=-4743, SQLSTATE=56038, DRIVER=4.13.127
当我在 DB2 支持站点中查找特定的 SQLCODE 时,它提到发生这种情况是因为查询不会 运行,尽管他们没有说明为什么不会.谁能帮我弄清楚为什么这个查询不会 运行?
感谢@mao 上面的评论,我在 DBeaver 中执行了以下命令:
SET CURRENT APPLICATION COMPATIBILITY = 'V11R1';
查询已修复。
您还缺少 table 表达式 别名:
SELECT DISTINCT a FROM (
SELECT a, b FROM schema.table WHERE APPR_STATUS = 'Approved'
) x
看到我在最后添加的x
了吗?
我有一个简单的 DB2 SQL 查询:
SELECT DISTINCT a FROM (SELECT a, b FROM schema.table WHERE APPR_STATUS = 'Approved');
当我在 DBeaver 内的 DB2 数据库上尝试对任何 table 进行这样的示例查询时,我收到以下错误:
SQL Error [56038]: ATTEMPT TO USE A FUNCTION WHEN THE APPLICATION COMPATIBILITY SETTING IS SET FOR A PREVIOUS LEVEL. SQLCODE=-4743, SQLSTATE=56038, DRIVER=4.13.127
当我在 DB2 支持站点中查找特定的 SQLCODE 时,它提到发生这种情况是因为查询不会 运行,尽管他们没有说明为什么不会.谁能帮我弄清楚为什么这个查询不会 运行?
感谢@mao 上面的评论,我在 DBeaver 中执行了以下命令:
SET CURRENT APPLICATION COMPATIBILITY = 'V11R1';
查询已修复。
您还缺少 table 表达式 别名:
SELECT DISTINCT a FROM (
SELECT a, b FROM schema.table WHERE APPR_STATUS = 'Approved'
) x
看到我在最后添加的x
了吗?