Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server MSSQL如何从查询(非表)聚合行_Sql Server_Aggregate - Fatal编程技术网

Sql server MSSQL如何从查询(非表)聚合行

Sql server MSSQL如何从查询(非表)聚合行,sql-server,aggregate,Sql Server,Aggregate,我需要在此查询中将行聚合为字符串: 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.Paren

我需要在此查询中将行聚合为字符串:

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
它返回数据作为

  • pcname模型位置用户1
  • pcname模型位置用户2
  • pcname模型位置用户3
  • 但我需要

  • pcname模型位置user1、user2、user3
  • 我知道outerapply(),但我不知道如何在这里使用它。谢谢。

    我是#$#$#$#,刚刚习惯了查询的最后一部分,它正在工作

    SELECT  NetworkName,Model,Folder,Marker
    FROM    requery
    WHERE ParentFolderID is NULL
    

    感谢所有人和NiMa)

    您需要使用XML来实现这一点。你提到的那篇文章应该很容易写。下面是另一篇文章,从纯sql server的角度解释此过程。