programing

JSON_엑스트랙트마리아DB

newstyles 2023. 10. 26. 20:48

JSON_엑스트랙트마리아DB

json 데이터로 쿼리를 해야 할 때 문제가 있습니다.

내 json 데이터는 다음과 같습니다.

{"groups":[{"groupid":"3","group_name":"test group","group_type":"user","office":"1"},{"groupid":"4","group_name":"test group 1","group_type":"user","office":"1"},{"groupid":"21","group_name":"test group 2","group_type":"directory","office":"0"}]}

office=1인 groupid만 반환하는 쿼리를 만들 수 있습니까?

현재 이 작업을 수행했지만 사무실에 대한 쿼리를 만드는 방법을 모릅니다.

select json_extract(test,'$.groups[*].groupid') as groupid from test;

시도:

SELECT CONCAT('
  SELECT JSON_EXTRACT(`doc_text`, ',
    REPLACE(TRIM('[' FROM TRIM(']' FROM
        JSON_SEARCH(doc_text, 'all', '1', NULL, '$.groups[*].office')
        )
      ),
      'office',
      'groupid'
    ), ') `groupid` FROM `docs`'
) INTO @`sql`
FROM `docs`;

dbfiddle 참조.

언급URL : https://stackoverflow.com/questions/49842672/json-extract-mariadb