반응형
모든 그룹을 선택하고 사용자가 그룹에 있는지 확인합니다.
테이블이 두 개 있습니다.groups
그리고.groups_members
무리
이드 | 이름. |
---|---|
1 | 그룹 1 |
2 | 그룹 2 |
3 | 그룹 2 |
그룹_구성원
group_id | user_id |
---|---|
1 | 123 |
2 | 123 |
2 | 555 |
1 | 4643 |
3 | 45434 |
이제 모든 그룹을 표시하고 사용자가 그룹을 표시하는지 확인합니다.user_id = 555
)이 그룹에 있는지 여부.이와 같은 것:
SELECT g.id, g.name, is_in_group
FROM g.groups
JOIN groups_members gm ON gm.user_id = 555
예상 출력:
이드 | 이름. | is_in_group |
---|---|---|
1 | 그룹 1 | NULL |
2 | 그룹 2 | 1 |
3 | 그룹 3 | NULL |
그렇게 하는 방법은 여러 가지가 있습니다. 제가 생각하는 간단한 방법은 다음과 같습니다.
SELECT
g.*,
CAST(gm.user_id / gm.user_id AS UNSIGNED) AS is_in_group
FROM sgroups AS g
LEFT JOIN sgroups_members AS gm
ON g.id = gm.group_id
AND gm.user_id = 555;
-- id name is_in_group
-- 1 GROUP 1 NULL
-- 2 GROUP 2 1
-- 3 GROUP 3 NULL
언급URL : https://stackoverflow.com/questions/75314090/select-all-groups-and-check-if-user-is-in-a-group-or-not
반응형
'source' 카테고리의 다른 글
Firebase에서 노드를 삭제/제거하는 방법 (0) | 2023.06.10 |
---|---|
Oracle: DBMS_UTILITY.EXEC_DDL_STATION 대 즉시 실행 (0) | 2023.06.10 |
GetText를 사용하여 클립보드에서 텍스트 가져오기 - 빈 클립보드에서 오류 방지 (0) | 2023.06.10 |
Ionic에서 알림 상자 외부를 클릭할 때 알림 상자를 닫지 않는 방법 (0) | 2023.06.10 |
표시된 데이터와 축 사이의 공간 제거 (0) | 2023.06.10 |