如何解决从另一列 SQL 填充数组
我进入了我的行结果 {{2.0,10}{2.0,10}}
但我想要 {{2.0,10}{3.0,20}}
。
我不知道我的错误在哪里。结果是文本 [ ]
它必须是一个二维数组
这是表1
数字 | 名称 | 结果 |
---|---|---|
01 | 凯文 |
这是表2
数字 | 考试 | ProfNr |
---|---|---|
01 | 2.0 | 10 |
01 | 3.0 | 20 |
我的代码是
update public."Table1" as t1
set "Result" = ARRAY[[t2."Exam",t2."ProfNr"],[t2."Exam",t2."ProfNr"]]
from public."Table2" as t2
where t1."Nummer"= 01
and t2."Nummer"=01;
解决方法
您需要聚合行才能实现这一点。这个 CTE 应该有助于澄清我的意思:
SELECT
,
您需要预先聚合:
update public."Table1" as t1
set "Result" = t2.ar
from (select array_agg(array[t2."Exam",t2."ProfNr"])) as ar
from public."Table2" as t2
where t2."Nummer" = 01
) t2
where t1."Nummer"= 01;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。