1
내 응용 프로그램에 사용자 테이블이 있습니다.SQL 쿼리 최적화
Id Name ParentId
1 User1 0
2 User2 1
3 User3 1
4 User4 2
5 User5 2
사용자는 grandparent-> parent-> child와 같은 관계가 있습니다. 내가
select * from user where ParentId=1 or ParentId in(select id from user where ParentId=1)
는 이러한 사용자가 내 역할 테이블과 사용자가 갖는 규칙의 수를 가져 오는 여러 역할을 다음 쿼리를 사용하고 웅대 한 부모와 관련된 사용자를 가져 오기 위해, 나는 select count(*) from group where userId=1
을 사용하고 있습니다.
Id Role UserId
1 Role 1 1
2 Role 2 1
3 Role 3 2
4 Role 4 2
5 Role 5 3
이 두 데이터를 단일 쿼리로 가져와야합니다. SQL에 만족스럽지 않고 첫 번째 쿼리가 완벽하지 않습니다. 이것을 어떻게 할 수 있습니까?
'이 두 데이터를 단일 쿼리로 가져와야합니다.'=> 어떻게? 샘플 데이터를'group' 테이블로도 줄 수 있고 그 결과에 따라 기대되는 결과를 보여줄 수 있습니까? – Utsav