Postgresql postgres中的交错数组_agg

Postgresql postgres中的交错数组_agg,postgresql,Postgresql,我有一个postgres查询,我想在其中交错我的array\u agg语句: SELECT client_user_id, (array_agg(question), array_agg(client_intake_question_id), array_agg(answer)) as answer FROM client_intake_answer LEFT OUTER JOIN client_intake_question ON client_intake_q

我有一个postgres查询,我想在其中交错我的array\u agg语句:

SELECT client_user_id, 
       (array_agg(question), array_agg(client_intake_question_id), array_agg(answer)) as answer 
FROM client_intake_answer
LEFT OUTER JOIN client_intake_question 
ON       client_intake_question.id = client_user_id
GROUP BY client_user_id
给我以下信息:

 5 | ("{""Have you ever received counselling?"",""Have you ever received counselling or mental health support in the past?""}","{1,2}","{yes,no}")
SELECT client_user_id, 
   array_agg('[' || client_intake_question_id || question || ',' || answer || ']') as answer 
FROM client_intake_answer
LEFT OUTER JOIN
client_intake_question ON  client_intake_question.id = client_user_id
GROUP BY client_user_id
我希望结果是:

  5 | ("{""Have you ever received counselling?", 1, "yes"",""Have you ever received counselling or mental health support in the past?", 2, "no""}"

如何执行此操作?

要将多个阵列阵列交叉或拼接在一起,可以执行以下操作:

 5 | ("{""Have you ever received counselling?"",""Have you ever received counselling or mental health support in the past?""}","{1,2}","{yes,no}")
SELECT client_user_id, 
   array_agg('[' || client_intake_question_id || question || ',' || answer || ']') as answer 
FROM client_intake_answer
LEFT OUTER JOIN
client_intake_question ON  client_intake_question.id = client_user_id
GROUP BY client_user_id

我建立了一个与您类似的小示例:

用户_id |数组_agg ------: | :------------------------------------- 1{“问题1,1,是”,“问题2,2,否”} 2{“问题1,1,否”,“问题2,2,是”}
dbfiddle

谢谢!当然比我的解决方案好。我很乐意帮忙。 user_id | array_agg ------: | :------------------------------------- 1 | {"question 1,1,yes","question 2,2,no"} 2 | {"question 1,1,no","question 2,2,yes"}