是否可以使用array_agg结果解嵌套? |PostgreSQL



我试图将数据从数组插入到PostgreSQL表中。我的下一个 sql 查询引发错误。为什么我不能在UNNEST中使用ARRAY_AGG

INSERT INTO surveys_questions_relationship(survey_id, question_id)
SELECT '9bef1274-f1ee-4879-a60e-16e94e88df38' ID, x
FROM UNNEST(
    SELECT ARRAY_AGG (QUESTION_ID)
    FROM factors_questions_relationship 
    WHERE FACTOR_ID = 10
) x

UNNEST内部的子查询返回 id 列表{1,2,3,4,5,6}。如何正确地创建要UNNEST的数组?

我在您的语句中看不到聚合或取消嵌套的原因。

你可以简单地写:

INSERT INTO surveys_questions_relationship(survey_id, question_id)
SELECT '9bef1274-f1ee-4879-a60e-16e94e88df38', QUESTION_ID
FROM factors_questions_relationship 
WHERE FACTOR_ID = 10;

最新更新