CTE 쿼리가 원하는 결과를 반환하지 않음

리처드 골코

내 CTE 쿼리에서 아래의 첫 번째 레코드가 반환되지 않습니다 (나중에 표시됨).

내 테이블은 다음과 같습니다.

Key  ParentID  ChildID  (Removed DateJoined Field here)
1       0        1  
3       1       83
4       1       84  
6       83      85  
7       85      86  
8       83      87

내 CTE 쿼리는 다음과 같은 결과를 생성합니다.

ID  Name            Date Joined  Parent ID  Parent Name        Level
83  Hanks, James    2014-09-13      1       Golko, Richard       1
84  Hanks, James    2014-09-13      1       Golko, Richard       1
85  Walker, Jamie   2014-09-13      83      Hanks, James         2
87  Newman, Betty   2014-09-20      83      Hanks, James         2
86  Adams, Ken      2014-09-13      85      Walker, Jamie        3

어떻게 첫 번째 레코드를 반환 할 수 ParentID = 0있습니까?

다음과 같이 sproc을 호출하면 :

EXEC UCU_RTG_ProgramStructure_GetMemberTree 0,4

위와 같이 여전히 parentID = 1로 시작하는 결과 만 얻습니다.

내 CTE 쿼리는 다음과 같습니다.

CREATE PROCEDURE [dbo].[UCU_RTG_ProgramStructure_GetMemberTree]
        @ParentID int,
        @MaxLevel int
AS

WITH matrix
AS 
( 
--initialization 
SELECT UserID, DateJoined, ParentID, 1 AS lvl
FROM dbo.UCU_RTG_ProgramStructure
WHERE ParentID = @ParentID
UNION ALL 
--recursive execution 
SELECT p.UserID,p.DateJoined,p.ParentID, lvl+1
FROM dbo.UCU_RTG_ProgramStructure p INNER JOIN matrix m  
ON p.ParentID = m.UserID 
WHERE lvl < @MaxLevel
) 
SELECT matrix.UserID, u.LastName + ', ' + u.FirstName AS Member ,DateJoined,ParentID,u2.LastName + ', ' + u2.FirstName AS Parent,lvl
FROM matrix
INNER JOIN dbo.Users u
ON u.UserID = matrix.UserID
INNER JOIN dbo.Users u2
ON u2.UserID = matrix.ParentID

ORDER BY ParentID

CTE 쿼리는 parentID = 0 레코드를 반환하지 않는 것을 제외하고는 괜찮습니다.

감사...

리처드 골코

나는 그것이 올바른지 확인하기 위해 내 게시물을보고 마침내 그것을 알아 냈습니다. 최종 선택 절이 잘못되었습니다.

SELECT matrix.UserID, u.LastName + ', ' + u.FirstName AS Member ,DateJoined,ParentID,u2.LastName + ', ' + u2.FirstName AS Parent,lvl
FROM matrix
INNER JOIN dbo.Users u
ON u.UserID = matrix.UserID
INNER JOIN dbo.Users u2
ON u2.UserID = matrix.ParentID

마지막 INNER JOIN은 ParentID 0에 가입 할 UserID 0이 없기 때문에 LEFT JOIN으로 변경해야합니다.

이것이 재귀 CTE 쿼리를 사용하는 다른 사람에게 도움이되기를 바랍니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

쿼리가 원하지 않는 결과를 반환합니다.

분류에서Dev

MySQL 쿼리가 예상 결과를 반환하지 않음

분류에서Dev

SQL 쿼리가 올바른 결과를 반환하지 않음

분류에서Dev

ElasticSeach 쿼리가 결과를 반환하지 않음

분류에서Dev

MySQL 쿼리가 결과를 반환하지 않음

분류에서Dev

ElasticSearch NEST 용어 쿼리가 결과를 반환하지 않음

분류에서Dev

DBpedia Sorql의 SPARQL 쿼리가 결과를 반환하지 않음

분류에서Dev

MySQL 쿼리가 PDO로 결과를 반환하지 않음

분류에서Dev

쿼리가 결과를 반환하지 않음

분류에서Dev

단순 SPARQL 쿼리가 결과를 반환하지 않음

분류에서Dev

ASP.net Entity Framework DropDownList 원본 쿼리가 결과를 반환하지 않음

분류에서Dev

변수가있는 PyMongo 쿼리가 결과를 반환하지 않음

분류에서Dev

쿼리 Hibernate 또는 HQL이 결과를 반환하지 않음

분류에서Dev

Elasticsearch 또는 필터링 된 쿼리가 결과를 반환하지 않음

분류에서Dev

쿼리 결과가 행에 값을 반환하지 않음

분류에서Dev

MySQL-쿼리가 올바른 결과를 반환하지 않음

분류에서Dev

Oracle-쿼리가 결과를 반환하지 않으면 '행 없음'표시

분류에서Dev

Access 2013-쿼리가 올바른 결과 수를 반환하지 않음

분류에서Dev

NEST elasticsearch.NET 검색 쿼리가 결과를 반환하지 않음 (2 부)

분류에서Dev

매개 변수화 된 MySQL 쿼리가 결과를 반환하지 않음

분류에서Dev

C # Xamarin Android sqlite-pcl database. 쿼리가 결과를 반환하지 않음

분류에서Dev

SQL Server 단순 SUM 쿼리가 예상 결과를 반환하지 않음

분류에서Dev

PHP Mysqli bind_param 쿼리가 결과를 반환하지 않음

분류에서Dev

원하는 정렬 된 결과를 반환하지 않는 쿼리

분류에서Dev

쿼리가 결과를 반환하지 않습니다.

분류에서Dev

PHP MySql 쿼리가 결과를 반환하지 않습니다.

분류에서Dev

쿼리가 kwargs 결과를 반환하지 않습니다. django

분류에서Dev

Oracle 쿼리 (PROC)가 원하는 결과를 제공하지 않음

분류에서Dev

.NET ODAC 쿼리가 결과를 반환하지 않지만 SQL DEVELOPER가 결과를 반환합니다.

Related 관련 기사

  1. 1

    쿼리가 원하지 않는 결과를 반환합니다.

  2. 2

    MySQL 쿼리가 예상 결과를 반환하지 않음

  3. 3

    SQL 쿼리가 올바른 결과를 반환하지 않음

  4. 4

    ElasticSeach 쿼리가 결과를 반환하지 않음

  5. 5

    MySQL 쿼리가 결과를 반환하지 않음

  6. 6

    ElasticSearch NEST 용어 쿼리가 결과를 반환하지 않음

  7. 7

    DBpedia Sorql의 SPARQL 쿼리가 결과를 반환하지 않음

  8. 8

    MySQL 쿼리가 PDO로 결과를 반환하지 않음

  9. 9

    쿼리가 결과를 반환하지 않음

  10. 10

    단순 SPARQL 쿼리가 결과를 반환하지 않음

  11. 11

    ASP.net Entity Framework DropDownList 원본 쿼리가 결과를 반환하지 않음

  12. 12

    변수가있는 PyMongo 쿼리가 결과를 반환하지 않음

  13. 13

    쿼리 Hibernate 또는 HQL이 결과를 반환하지 않음

  14. 14

    Elasticsearch 또는 필터링 된 쿼리가 결과를 반환하지 않음

  15. 15

    쿼리 결과가 행에 값을 반환하지 않음

  16. 16

    MySQL-쿼리가 올바른 결과를 반환하지 않음

  17. 17

    Oracle-쿼리가 결과를 반환하지 않으면 '행 없음'표시

  18. 18

    Access 2013-쿼리가 올바른 결과 수를 반환하지 않음

  19. 19

    NEST elasticsearch.NET 검색 쿼리가 결과를 반환하지 않음 (2 부)

  20. 20

    매개 변수화 된 MySQL 쿼리가 결과를 반환하지 않음

  21. 21

    C # Xamarin Android sqlite-pcl database. 쿼리가 결과를 반환하지 않음

  22. 22

    SQL Server 단순 SUM 쿼리가 예상 결과를 반환하지 않음

  23. 23

    PHP Mysqli bind_param 쿼리가 결과를 반환하지 않음

  24. 24

    원하는 정렬 된 결과를 반환하지 않는 쿼리

  25. 25

    쿼리가 결과를 반환하지 않습니다.

  26. 26

    PHP MySql 쿼리가 결과를 반환하지 않습니다.

  27. 27

    쿼리가 kwargs 결과를 반환하지 않습니다. django

  28. 28

    Oracle 쿼리 (PROC)가 원하는 결과를 제공하지 않음

  29. 29

    .NET ODAC 쿼리가 결과를 반환하지 않지만 SQL DEVELOPER가 결과를 반환합니다.

뜨겁다태그

보관