2017-01-27 6 views
0

redshift를 사용하여 json 객체의 배열을 쿼리하는 솔루션을 찾지 못했습니다. 은 각 행에 대해, I는 다음과 같은 열에 저장된 JSON 객체의 어레이가 :JSON Redshift SQL - json 배열을 반복합니다.

[{'a':x,'b':y,'type':z},{'a':x,'b':y,'type':w},{'a':x,'b':y,'type':z},{a:x,b:y,type:z}]

각 행을, I는 새로운 항목에 '타입'Z 객체의 수를 추출 할. 누구나 아이디어가 있습니까?

고마워,

니콜라스

+0

체크 아웃이 질문에 ... 사용자 정의 함수의 비트가 여기에 해당 될 수 있습니다 http://stackoverflow.com/questions/41979669/expand-a-json-data-into-new-columns-in -a-generic-fashion-in-redshift – systemjack

답변

1

나는 적색 편이 분야에서 JSON 배열을 통해 루프 구문을 사용했습니다.

CREATE TEMP TABLE seq 
(i int); INSERT INTO seq VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8); 

SELECT distinct 
json_extract_path_text(json_extract_array_element_text(yourfieldname, seq.i),'type') as type 
FROM yourtablename, seq AS seq 
--- arman why is this less than the array 
WHERE seq.i < JSON_ARRAY_LENGTH(yourfieldname) 

; 

DROP TABLE seq; 
관련 문제