Abfrage führt nicht die Rekursion, es holt nur den Anker Teil (die IDs wo Eltern-ID ist Null).CTE-Code nur greifen Anker nicht machen Rekursion
Kann mir jemand helfen, meinen Fehler zu erkennen? Ich habe viele Dinge ausprobiert, aber ich finde immer die gleiche Anzahl von Zeilen, die IDS ohne Eltern-IDs.
WITH EmpTree
AS (
SELECT e.DWH_Dim_TFS_File_DWH_FileParent_Guid
,e.DWH_Dim_TFS_File_DWH_File_Guid
,1 AS Depth
,File_Name_String = CAST(CAST(e.File_Name AS BINARY (100)) AS VARBINARY(8000))
FROM [dbo].[Hierarchy_Luis] AS e
WHERE e.DWH_Dim_TFS_File_DWH_FileParent_Guid IS NULL
UNION ALL
SELECT e.DWH_Dim_TFS_File_DWH_FileParent_Guid
,e.DWH_Dim_TFS_File_DWH_File_Guid
,p.Depth + 1 AS Depth
,File_Name_String = CAST(CONCAT (
p.File_Name_String
,CAST(e.File_Name AS BINARY (100))
) AS VARBINARY(8000))
FROM [dbo].[Hierarchy_Luis] AS e
JOIN EmpTree AS p ON e.DWH_Dim_TFS_File_DWH_FileParent_Guid = p.DWH_Dim_TFS_File_DWH_File_Guid
)
SELECT p.DWH_Dim_TFS_File_DWH_File_Guid
,p.Depth
,Level01 = CAST(SUBSTRING(p.File_Name_String, 1, 100) AS NVARCHAR(100))
,Level02 = CAST(SUBSTRING(p.File_Name_String, 101, 100) AS NVARCHAR(100))
,Level03 = CAST(SUBSTRING(p.File_Name_String, 201, 100) AS NVARCHAR(100))
,Level04 = CAST(SUBSTRING(p.File_Name_String, 301, 100) AS NVARCHAR(100))
,Level05 = CAST(SUBSTRING(p.File_Name_String, 401, 100) AS NVARCHAR(100))
,Level07 = CAST(SUBSTRING(p.File_Name_String, 501, 100) AS NVARCHAR(100))
,Level08 = CAST(SUBSTRING(p.File_Name_String, 601, 100) AS NVARCHAR(100))
,Level09 = CAST(SUBSTRING(p.File_Name_String, 701, 100) AS NVARCHAR(100))
,Level10 = CAST(SUBSTRING(p.File_Name_String, 801, 100) AS NVARCHAR(100))
,Level11 = CAST(SUBSTRING(p.File_Name_String, 901, 100) AS NVARCHAR(100))
,Level12 = CAST(SUBSTRING(p.File_Name_String, 1001, 100) AS NVARCHAR(100))
,Level13 = CAST(SUBSTRING(p.File_Name_String, 1101, 100) AS NVARCHAR(100))
,Level14 = CAST(SUBSTRING(p.File_Name_String, 1201, 100) AS NVARCHAR(100))
,Level15 = CAST(SUBSTRING(p.File_Name_String, 1301, 100) AS NVARCHAR(100))
,Level16 = CAST(SUBSTRING(p.File_Name_String, 1401, 100) AS NVARCHAR(100))
,Level17 = CAST(SUBSTRING(p.File_Name_String, 1501, 100) AS NVARCHAR(100))
,Level18 = CAST(SUBSTRING(p.File_Name_String, 1601, 100) AS NVARCHAR(100))
,Level19 = CAST(SUBSTRING(p.File_Name_String, 1701, 100) AS NVARCHAR(100))
,Level20 = CAST(SUBSTRING(p.File_Name_String, 1801, 100) AS NVARCHAR(100))
,Level21 = CAST(SUBSTRING(p.File_Name_String, 1901, 100) AS NVARCHAR(100))
,Level22 = CAST(SUBSTRING(p.File_Name_String, 2001, 100) AS NVARCHAR(100))
,Level23 = CAST(SUBSTRING(p.File_Name_String, 2101, 100) AS NVARCHAR(100))
,Level24 = CAST(SUBSTRING(p.File_Name_String, 2201, 100) AS NVARCHAR(100))
,Level25 = CAST(SUBSTRING(p.File_Name_String, 2301, 100) AS NVARCHAR(100))
,Level26 = CAST(SUBSTRING(p.File_Name_String, 2401, 100) AS NVARCHAR(100))
,Level27 = CAST(SUBSTRING(p.File_Name_String, 2501, 100) AS NVARCHAR(100))
FROM EmpTree p
Vielen Dank, ich weiß, es ist etwas recht einfach sein, aber ich kann nicht herausfinden.
Beispieldaten
DWH_Dim_TFS_File_DWH_FileParent_GUID DWH_Dim_TFS_File_DWH_File_GUID File_Name
114087616 114087617 ot_de
114087616 114087618 ot_de
114087593 114087619 _proj
11407441 11408762 I_EXP
114087593 114087620 arm\
114087620 114087621 e\
114087621 114087622 ot_de
114087621 114087623 ot_de
114087593 114087624 c\
114087624 114087625 ot_de
114087624 114087626 ot_de
114087593 114087627 3s896
114087593 114087628 kefil
114087593 114087629 adme.
11408762 11408763 B_PTS
114087593 114087630 mdk\
114087630 114087631 ot_de
114087630 114087632 ot_de
114087593 114087633 urcer
114087633 114087634 ot_de
114087633 114087635 ot_de
114087593 114087636 artup
114087593 114087637 artup
114087593 114087638 artup
114087593 114087639 artup
11408763 11408764 B_PTS
114087593 114087640 artup
114087302 114087641 ot_et
114087641 114087642 _conf
114087641 114087643 ot_et
114087641 114087644 ot_et
114087641 114087645 ot_et
114087641 114087646 ot_et
114087641 114087647 ot_et
114087641 114087648 s\
114087648 114087649 csimp
11408763 11408765 B_PTS
114087648 114087650 cspro
114087648 114087651 dtbui
114087648 114087652 dtpro
114087648 114087653 rojec
114087648 114087654 ettin
114087654 114087655 g.ecl
114087648 114087656 cros.
114087648 114087657 rget_
114087641 114087658 dered
114087658 114087659 ot_et
11408763 11408766 cessW
können Sie einige Testdaten gemeinsam nutzen als DML – TheGameiswar
diesen Link Look out (https://spaghettidba.com/2015/04/24/how-to-post-at-sql-question-on-a- public-forum /) um mehr darüber zu erfahren, wie man das Queston verbessern kann – TheGameiswar
Ups, sorry guys, da mein Problem nur das select ist und Joins nicht funktionieren Ich dachte, dass keine Daten notwendig wären. Der Kern dieses Problems ist nur auf file_guid und fileparent_guid. Ich gebe Informationen über den Datentyp –