반응형
MariaDB-JSON-document - exact where 절을 적용한 후 인덱스를 알지 못하고 배열에서 특정 요소만 선택할 수 없습니다.
JSON 문서를 가지고 있습니다. 구조/샘플 데이터는 -와 같습니다.
{
"id":"201",
"portfolio":[
{
"portfolio_id":"PORTFOLIO_001",
"portfolio_name":"AAA",
"product":[
{
"product_id":"PORTFOLIO_001_PRODUCT_001",
"product_trigram":"PORTFOLIO_001_PRODUCT_001_1",
"product_name":"PORTFOLIO_001_PRODUCT_001_NAME"
},
{
"product_id":"PORTFOLIO_001_PRODUCT_002",
"product_trigram":"PORTFOLIO_001_PRODUCT_002_1",
"product_name":"PORTFOLIO_001_PRODUCT_002_NAME"
}
]
},
{
"portfolio_id":"PORTFOLIO_002",
"portfolio_name":"BBB",
"product":[
{
"product_id":"PORTFOLIO_002_PRODUCT_001",
"product_trigram":"PORTFOLIO_002_PRODUCT_001_1",
"product_name":"PORTFOLIO_002_PRODUCT_001_NAME"
}
]
}
]
}
아래와 같이 select SQL을 작성하였습니다.저는 그 특정 포트폴리오(PORTfolio_001)와 id의 제품을 가져오고 싶습니다.특정 포트폴리오의 제품이 아닌 모든 포트폴리오의 모든 제품을 받고 있습니다(PORTfolio_001).
SELECT json_extract(j, '$.portfolio[*].product') FROM t WHERE json_contains(json_extract(j, '$.portfolio[*].portfolio_id'), '"PORTFOLIO_001"') AND JSON_CONTAINS(j, '"201"', '$.id')
실제 출력 -
[
[
{
"product_id":"PORTFOLIO_001_PRODUCT_001",
"product_trigram":"PORTFOLIO_001_PRODUCT_001_1",
"product_name":"PORTFOLIO_001_PRODUCT_001_NAME"
},
{
"product_id":"PORTFOLIO_001_PRODUCT_002",
"product_trigram":"PORTFOLIO_001_PRODUCT_002_1",
"product_name":"PORTFOLIO_001_PRODUCT_002_NAME"
}
],
[
{
"product_id":"PORTFOLIO_002_PRODUCT_001",
"product_trigram":"PORTFOLIO_002_PRODUCT_001_1",
"product_name":"PORTFOLIO_002_PRODUCT_001_NAME"
}
]
]
예상 출력 -
[
{
"product_id":"PORTFOLIO_001_PRODUCT_001",
"product_trigram":"PORTFOLIO_001_PRODUCT_001_1",
"product_name":"PORTFOLIO_001_PRODUCT_001_NAME"
},
{
"product_id":"PORTFOLIO_001_PRODUCT_002",
"product_trigram":"PORTFOLIO_001_PRODUCT_002_1",
"product_name":"PORTFOLIO_001_PRODUCT_002_NAME"
}
]
누가 이 문제를 해결하는 것을 도와줄 수 있습니까?
당신의 조치에 미리 감사드립니다 :-)
안녕하세요, 프라샨트
언급URL : https://stackoverflow.com/questions/67532764/mariadb-json-document-not-able-to-select-only-specific-elements-from-array-with
반응형
'programing' 카테고리의 다른 글
사이트를 파괴하지 않고 web.config에 MIME 유형을 추가할 수 있습니까? (0) | 2023.08.21 |
---|---|
스크롤바가 웹 페이지의 위치를 변경하는 것을 방지하는 방법은 무엇입니까? (0) | 2023.08.21 |
jQueryUncaughtTypeError: 개체 [objectWindow]의 속성 '$'이(가) 함수가 아닙니다. (0) | 2023.08.21 |
"error: option --single-version-external-managed not recognized"는 무엇을 의미합니까? (0) | 2023.08.21 |
테이블 사킬라를 만들 수 없습니다."address" "외부 키 제약 조건이 잘못 형성되었습니다." (0) | 2023.08.21 |