我试图将数据从数组插入到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;