여러분 안녕하세요! ![]()
데이터 탐색기를 사용하면 어떤 사용자가 어떤 사람에 의해 음소거 및 무시되었는지를 테이블로 표시할 수 있을까요?
도와주실 수 있다면 정말 감사하겠습니다 ![]()
감사합니다
여러분 안녕하세요! ![]()
데이터 탐색기를 사용하면 어떤 사용자가 어떤 사람에 의해 음소거 및 무시되었는지를 테이블로 표시할 수 있을까요?
도와주실 수 있다면 정말 감사하겠습니다 ![]()
감사합니다
이 기능을 이전에 본 적이 없고, 추가된다면 안전한 개인정보 보호 관행에 부정적인 영향을 미칠 수 있다고 생각합니다.
다음과 같이 시도해 보세요:
SELECT id AS user_id, muted_users, ignored_users
FROM (
SELECT u.id,
ARRAY_AGG(m.muted_user_id)
FILTER (WHERE m.muted_user_id IS NOT NULL) AS muted_users,
ARRAY_AGG(i.ignored_user_id)
FILTER (WHERE i.ignored_user_id IS NOT NULL) AS ignored_users
FROM users u
LEFT JOIN ignored_users i ON u.id = i.user_id
LEFT JOIN muted_users m ON u.id = m.user_id
GROUP BY u.id
) data
WHERE (muted_users IS NOT NULL OR ignored_users IS NOT NULL)
또는 id 대신 사용자 이름 목록을 원한다면 다음을 시도해 보세요:
SELECT id AS user_id, muted_users, ignored_users FROM (
SELECT u.id,
ARRAY_AGG(muteds.username)
FILTER (WHERE muteds.username IS NOT NULL) AS muted_users,
ARRAY_AGG(ignores.username)
FILTER (WHERE ignores.username IS NOT NULL) AS ignored_users
FROM users u
LEFT JOIN (
SELECT i.user_id AS id, u1.username
FROM users u1
INNER JOIN ignored_users i ON u1.id = i.ignored_user_id) ignores
ON u.id = ignores.id
LEFT JOIN (
SELECT m.user_id AS id, u1.username
FROM users u1
INNER JOIN muted_users m ON u1.id = m.muted_user_id) muteds
ON u.id = muteds.id
GROUP BY u.id
) data
WHERE (muted_users IS NOT NULL OR ignored_users IS NOT NULL)
쿼리를 만들어 주셔서 감사합니다, Robert. 사용자 이름 쿼리가 우리에게 더 잘 작동합니다.
좋은 하루 보내세요!