2017-05-15 1 views
0

ROW_TO_JSON postgres의 함수는 테이블의 행을 JSON 객체로 변환합니다. 마지막 행은 student 테이블에서 반면postgreSQL 테이블에서 JSON 배열로 여러 행을 변환하는 방법

{"salary":null,"age":65,"address":null,"id":111,"name":"NAME"} 
{"salary":null,"age":21,"address":null,"id":222,"name":"SURNAME"} 
{"dob":"1997-03-02","name":"Mediocore","passed":true,"id":555} 

처음 두 행이 employee 테이블에서 다음과 같습니다

select row_to_json(result) from (select * from employee) as result; 
select row_to_json(result) from (select * from student) as result; 

나에게 세 가지 행을 제공합니다.

대상 전체 JSON 객체 배열의 테이블에서 전체 결과 집합을 넣으려는 경우 어떻게해야합니까? 예.

[{"salary":null,"age":65,"address":null,"id":111,"name":"NAME"}, {"salary":null,"age":21,"address":null,"id":222,"name":"SURNAME"}] 두 개의 개별 행 대신 단일 행으로

여기에 TABLE_TO_JSON과 (과) 비슷한 항목이 있습니까?

+0

실행할 버전을 .. pgAdmin 4 V4와 –

+0

PostgreSQL의 9.6 – izengod

+0

아, 다음 @a_horse_with_no_name이 가장 좋은 대답을했다 :) –

답변

2

어쩌면 나는 뭔가를 놓치고 있지만 이것은 json_agg과 같이 보일 것입니다. ?

select json_agg(row_to_json(employee)) 
from employee; 
+0

row_to_json 먼저 JSON입니다 :

는 또한 파생 테이블이 필요하지 않습니다 기능, 9.2가 아닌 영업 방식을 어떻게 알았습니까? –