gpt4 book ai didi

arrays - 用其他表的值填充数组的值

转载 作者:行者123 更新时间:2023-11-29 12:14:04 26 4
gpt4 key购买 nike

我在 postgresql 中有一个表 (my_table2),其中包含一个数组类型的列。我希望 my_table1 的列 val1 的值是我的数组 (array_col) 的第一个元素,而 val2 的值是 array_col 的第二个元素。我想出了这个查询:

update my_table2
set array_col=array[
(
select val1 from my_table1)
, (select val2 from my_table1)
]

但是当我运行它时出现错误:
错误:用作表达式的子查询返回多于一行有什么方法可以做到吗?

最佳答案

您的子查询select val1 from my_table1select val2 from my_table1 返回多行。如果您要为每个元素指定一个子查询,那么它只能返回一个元素。

根据你所拥有的...你可能正在寻找更像是这样的东西:

将两者连接在一起?

更新 my_table2 set array_col=array(select val1 from my_table1)||array(select val2 from my_table1)

每人拿一个?

update my_table2 set array_col=array[(select val1 from my_table1 limit 1),(select val2 from my_table1 limit 1)]

关于arrays - 用其他表的值填充数组的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13481401/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com