User
및 ParentUser
이라는 테이블이 두 개 있는데 그 중 하나와 많은 관계가 있으며 많은 쪽이 ParentUser
테이블입니다.자식 테이블에 자식이 있는지 확인하기 위해 쿼리를 작성하는 방법
parentId를 전달하고 모든 자식을 가져오고 열 이름 HasChildren
을 가져 오는 쿼리를 작성하여 모든 자식이 자식이 있는지 여부를 확인하고 싶습니다.
시도합니다 :
여기 좋은 Prdp
SELECT u.*,
CASE
WHEN p.ParentId IS NULL THEN 1
ELSE 0
END as HasChildren
FROM [User] u
LEFT JOIN (select distinct ParentId from ParentUser) p
ON u.UserId = p.ParentId
모든 1-으로하지만 난 parentId을 통과하지 못할
아래 그림은 일부 샘플 데이터와 필요한 결과를 보여줍니다 그것에. Juozas
DECLARE @ParentId INT = 2441;
SELECT DISTINCT
[UserId] = [u].[userid]
,[HasChildren] = CAST(ISNULL([pu].[userid], 0) AS BIT)
,[ChildrenId] = [pu].[userid]
FROM
[user] AS [u]
OUTER APPLY
(
SELECT [userid], [parentid] FROM [ParentUser] WHERE [parentid] = [u].[userid]
) AS [pu]
WHERE
[pu].[parentid] = @ParentId;
다시 모든 좋은 그러나 필드 HasChildren의 값으로
2- 유 plz 수 있습니다 1.
는 지금까지 시도 HV 어떤 쿼리를 공유 항상? –
왜 이전에이 사실을 물어 보지 않았습니까? –
[선택할 수있는 옵션을 설정하는 방법은 sql에서 select를 반환하는 방법?] (http://stackoverflow.com/questions/41669968/how-to-set-an-if-on-a-select-for -returning-select-in-sql) –