C# 从这里使用split函数,从链接中使用dbo.fn_split这是一个很好的方法,没有想到。这是一个很好的方法,没有想到。这是一个很好的方法,没有想到。这是一个很好的方法,没有想到。这是有效的(在我控制输入时,它也会对我有效)。感谢您花时间回答我的问题。这
C# 从这里使用split函数,从链接中使用dbo.fn_split这是一个很好的方法,没有想到。这是一个很好的方法,没有想到。这是一个很好的方法,没有想到。这是一个很好的方法,没有想到。这是有效的(在我控制输入时,它也会对我有效)。感谢您花时间回答我的问题。这,c#,sql,sql-server,tsql,sql-server-2008-express,C#,Sql,Sql Server,Tsql,Sql Server 2008 Express,从这里使用split函数,从链接中使用dbo.fn_split这是一个很好的方法,没有想到。这是一个很好的方法,没有想到。这是一个很好的方法,没有想到。这是一个很好的方法,没有想到。这是有效的(在我控制输入时,它也会对我有效)。感谢您花时间回答我的问题。这是可行的(而且在我控制输入时也适用)。感谢您花时间回答我的问题。这是可行的(而且在我控制输入时也适用)。感谢您花时间回答我的问题。这是可行的(而且在我控制输入时也适用)。谢谢你花时间回答我的问题。这太棒了!如果可以的话,我会把它翻两次。这大约是
从这里使用split函数,从链接中使用dbo.fn_split这是一个很好的方法,没有想到。这是一个很好的方法,没有想到。这是一个很好的方法,没有想到。这是一个很好的方法,没有想到。这是有效的(在我控制输入时,它也会对我有效)。感谢您花时间回答我的问题。这是可行的(而且在我控制输入时也适用)。感谢您花时间回答我的问题。这是可行的(而且在我控制输入时也适用)。感谢您花时间回答我的问题。这是可行的(而且在我控制输入时也适用)。谢谢你花时间回答我的问题。这太棒了!如果可以的话,我会把它翻两次。这大约是其他人提供的解决方案(基于执行计划)速度的两倍,大约是我提出的性能的5%。非常感谢你!这太棒了!如果可以的话,我会把它翻两次。这大约是其他人提供的解决方案(基于执行计划)速度的两倍,大约是我提出的性能的5%。非常感谢你!这太棒了!如果可以的话,我会把它翻两次。这大约是其他人提供的解决方案(基于执行计划)速度的两倍,大约是我提出的性能的5%。非常感谢你!这太棒了!如果可以的话,我会把它翻两次。这大约是其他人提供的解决方案(基于执行计划)速度的两倍,大约是我提出的性能的5%。非常感谢你!
ALTER PROCEDURE [dbo].[GetPaths]
@guy NVARCHAR(MAX)
AS
DECLARE
@tempPath NVARCHAR(MAX) = '',
@Path NVARCHAR (MAX),
@filteredPath TABLE (FilteredPath NVARCHAR(MAX))
BEGIN
SET NOCOUNT ON;
IF (@guy IS NOT NULL)
BEGIN
DECLARE C Cursor FOR
SELECT Paths.Path
WHERE
Paths.Username = @guy
ORDER BY Paths.Path DESC
OPEN C
FETCH NEXT FROM C INTO @Path
WHILE @@Fetch_Status=0 BEGIN
IF (CHARINDEX(@tempPath, @Path = 0)
BEGIN
INSERT INTO @filteredPath(FilteredPath)
VALUES (@Path)
END
SET @tempPath = @Path
FETCH NEXT FROM C into @Path
END
CLOSE C
DEALLOCATE C
SELECT * FROM @filteredPath
END
END
select p.*
from Paths p
where not exists (select 1
from Paths p2
where p.path like p2.path + '%' and
p.path <> p2.path
);
SELECT Paths.Path
FROM Paths
WHERE Paths.Username = @guy
And Len(Path) - Len(Replace(Path, '\', '')) = 1
ORDER BY Paths.Path DESC
SELECT DISTINCT
CASE (CHARINDEX('\', Path, CHARINDEX('\', Path) + 1))
WHEN 0 THEN Path
ELSE SUBSTRING(Path, 1, (CHARINDEX('\', Path, CHARINDEX('\', Path) + 1) - 1))
END
FROM Paths
WHERE Username = @guy