0
내가 같은 스키마를 가지고 말 :포스트 그레스에서
table item {
type varchar(40)
entity_id bigint
entity_type varchar(40)
user_id bigint
}
그리고이 같은 정보를 얻을 수있는 테이블을 조회 할 :
{
"typeA": {
"count": 3,
"me": true
},
"typeC": {
"count": 3,
"me": false
},
"typeE": {
"count": 3,
"me": false
},
"typeR": {
"count": 3,
"me": true
}
}
에서을 주 데이터이있는 쿼리 :
SELECT ARRAY_AGG(x)
FROM
(
SELECT type,
count(*),
(CASE
WHEN (SELECT id
FROM items as i
WHERE i.entity_type = 'sometype'
AND i.entity_id = 234
AND i.user_id = 32
AND i.type = items.type) is not null
THEN true
ELSE false
END) AS me
FROM items
WHERE items.entity_type = 'sometype'
AND items.entity_id = 234
GROUP BY type
) as x
이 내가 형의 수와 나를 필요로하는 정보의 배열을 반환합니다. 하지만 위와 같이 형식이 필요합니다.
[
{
"type": "typeA",
"count": 3,
"me": true
},
{
"type": "typeC",
"count": 3,
"me": false
},
{
"type": "typeE",
"count": 3,
"me": false
},
{
"type": "typeR",
"count": 3,
"me": true
}
]
형식이 현재 사용되는 방식은 다음과 같습니다. 필요한 json 객체를 빌드하는 방법을 찾을 수 없습니다. 나는 3 개의 json 객체를 얻을 수있었습니다. 그러나 하나의 객체에 3 개의 중첩 된 객체가 필요합니다.
이것은 완벽하게 작동하지만 형식이 추가되었지만 괜찮습니다. 고마워, 올리브. :) – wizardofmath