我正在尝试迭代数组字段,以便将每个记录用作 用于查询并最终连接所有结果的参数,但我需要帮助才能获取它。
我有一个表,其中有一个名为fleets
的数组字段,它可以有一个或多个值,即。 {1,2,3}
我需要迭代每个值以获取属于这些车队的所有车辆。
通过子查询,我得到了 3 行,其中的值分别为 1
、2
、3
SELECT * FROM vehicles WHERE fleet_fk=(
SELECT unnest(fleets) FROM auth_user WHERE id=4)
我使用的是 PostgreSQL 9.4。
最佳答案
如果您的查询出现错误:用作表达式的子查询返回的多行
,则意味着您应该使用 ANY
:
SELECT * FROM vehicles
WHERE fleet_fk = ANY(
SELECT unnest(fleets) FROM auth_user WHERE id=4)
关于sql - Postgresql 迭代数组字段并将记录用于另一个查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30902259/