松散索引扫描postgres子查询使用未分组的列

问题描述 投票:0回答:1

跟随链接https://wiki.postgresql.org/wiki/Loose_indexscan,我正在尝试通过以下查询将其应用于我的案例:

WITH RECURSIVE t AS (
    SELECT MIN(test_table.entity_type) AS col FROM test_table
    UNION ALL
    SELECT (SELECT MIN(col) FROM test_table WHERE col > t.col)
    FROM t WHERE t.col IS NOT NULL
    )
SELECT col FROM t WHERE col IS NOT NULL
UNION ALL
SELECT NULL WHERE EXISTS(SELECT 1 FROM test_table WHERE col IS NULL);

但是我得到了错误:

子查询使用来自外部查询的未分组列“ t.col”

postgresql
1个回答
0
投票

您必须使用表名来限定所有出现的col,以避免产生歧义。

© www.soinside.com 2019 - 2024. All rights reserved.