【发布时间】:2020-02-27 06:29:22
【问题描述】:
正如您在我的 SQL 请求中看到的,我有一个返回字符串数组 (varchar[]) 的子查询。我正在尝试通过我在ANY 命令中传递的这个数组过滤table_1 值。出于某种原因,我看到了这个错误:
错误:运算符不存在:字符变化 = 字符变化 [] 没有运算符与给定的名称和参数类型匹配。您可能需要添加显式类型转换。
table_1.column_a 和table_2.column_a 列的数据类型为varchar。
PostgreSQL 版本:11.4
我在哪里做错了?
select
table_1.*
from
table_1
where
table_1.column_a = any(
select
array_agg(table_2.column_a)
from
table_2
)
当然,我可以使用这样的代码,但是我想知道第一次查询出错的原因:
select
table_1.*
from
table_1
where
table_1.column_a in(
select
table_2.column_a
from
table_2
)
【问题讨论】:
标签: sql postgresql