0
내가 열 "증명서"와 "오디오"라는 테이블이 중첩 된 JSON에서 값을 가져옵니다 :포스트 그레스
{"transcript": [
{"p": 0, "s": 0, "e": 320, "c": 0.545, "w": "This"},
{"p": 1, "s": 320, "e": 620, "c": 0.825, "w": "call"},
{"p": 2, "s": 620, "e": 780, "c": 0.909, "w": "is"},
{"p": 3, "s": 780, "e": 1010, "c": 0.853, "w": "being"}
...
]}
내가 "P"의 값을 취득하고자하는 경우 "w 특정 키워드와 일치합니다.
다음 쿼리를 수행하면 Audio의 전체 "s"항목 중 "w"에 "google"또는 "all"이있는 항목이 표시됩니다.
select json_array_elements(transcript->'transcript')->>'s'
from Audio,
json_array_elements(transcript->'transcript') as temp
where temp->>'w' ilike any(array['all','google'])
조건이 만족되면 "p"의 값만 얻을 수 있습니까?
편집 : "p"값과 해당 오디오 ID를 동시에 얻을 수 있습니까?
답변 해 주셔서 감사합니다. 질문에 대한 후속 조치 : 교차 가입 조건을 피하면서 어떻게 p와 해당 ID의 가치를 얻을 수 있습니까? 두 줄을 선택해 보았습니다. - "p"와 id하지만 결과가 두 배다고 생각합니다. – YAL
예제에 몇 가지 설명을 추가했습니다. 나는'id '가 어디에서 왔는지에 대해 가정해야했지만, 예제가 충분히 일반적으로 잘하면. – teppic