Select distinct A.col1, B.col2, col3
from A inner join B on A.id = B.id
and B.id in
(select distinct col2 from B where ..... )
PostgreSQL 的 plpgsql 解析器不喜欢括号子查询中的非限定“col2”。由于子查询中只提到了一张表,解析器是否会在没有的情况下产生歧义?
最佳答案
像您显示的那样的 SQL 查询就可以工作。
既然你提到了plpgsql,我的猜测是你只显示了实际上是plpgsql函数的片段,并且你遇到了与函数参数的命名冲突,这是可见的函数体中的任何位置(动态 SQL 除外)。
关于sql - 为什么 postgresql 考虑这个子查询列名不完全限定且不明确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14537955/