我需要在此查询中将行聚合为字符串:
WITH requery AS
(SELECT CAST ( Name AS VARCHAR(1000) ) as Folder, f1.ParentFolderID, unt.NetworkName, unt.Model, Marker
FROM [Base].[dbo].[Folders] as f1
JOIN (
SELECT u.NetworkName, m.Name as Model, u.ParentFolderID, ma.Name as Marker
FROM Base.dbo.Units as u
JOIN Base.dbo.Models as m
ON u.ModelID=m.ModelID
LEFT JOIN Base.dbo.MarkerLinks as ml
ON u.ParentFolderID=ml.FolderID
LEFT JOIN Base.dbo.MarkerS as ma
ON ml.MarkerID = ma.MarkerID
WHERE u.NetworkName LIKE 'pcname' ) as unt ON unt.ParentFolderID = f1.FolderID
UNION ALL
SELECT CAST ( (f.Name + '\' + f2.Folder) AS VARCHAR(1000) ) as Name, f.ParentFolderID, f2.NetworkName, f2.Model, f2.Marker
FROM [Base].[dbo].[Folders] f
JOIN requery as f2
ON f.FolderID = f2.ParentFolderID)
SELECT NetworkName,Model,Folder,Marker
FROM requery
WHERE ParentFolderID is NULL
将数据返回为
但我需要
我知道OUTER APPLY(like there),但我不明白如何在这里使用它。感谢。
答案 0 :(得分:0)
我是#$#$#,只是使用this来查询部分查询并且它正在运行!
SELECT NetworkName,Model,Folder,Marker
FROM requery
WHERE ParentFolderID is NULL
感谢4 all和NiMa独家)