String aggregation 我能';我不知道如何使用string_agg进行订购

String aggregation 我能';我不知道如何使用string_agg进行订购,string-aggregation,String Aggregation,我有这个查询(我使用的是SQL Server 2019),并且运行良好(将日期和注释合并到一列中)。然而,我期待的结果是让最新的日期首先出现。 如何从这个查询中实现这一点 SELECT ID, ​(SELECT string_agg(​concat(Date, ': ', Notes), CHAR(13) + CHAR(10) + CHAR(13) + CHAR (10)) as Expr1​ FROM(SELECT DISTINCT nd.Notes, n

我有这个查询(我使用的是SQL Server 2019),并且运行良好(将日期和注释合并到一列中)。然而,我期待的结果是让最新的日期首先出现。

如何从这个查询中实现这一点

SELECT ID,            

​(SELECT string_agg(​concat(Date, ': ', Notes), CHAR(13) + CHAR(10) + CHAR(13) + CHAR (10)) as Expr1​

    FROM(SELECT DISTINCT nd.Notes, nd.Date
    FROM dbo.ReleaseTrackerNotes AS nd 
    INNER JOIN dbo.ReleaseTracker AS ac4 ON ac4.ID = nd.ReleaseTrackerID
    WHERE (ac4.ID = ac.ID)) AS z_1) AS vNotes 

FROM dbo.ReleaseTracker AS ac

GROUP BY ID

我已经试过了,但不起作用 这是我的桌子:

CREATE TABLE [dbo].[ReleaseTrackerNotes](
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [ReleaseTrackerID] [int] NULL,
    [AOC_ModelID] [int] NULL,
    [Date] [date] NULL,
    [Notes] [nvarchar](800) NULL,
 CONSTRAINT [PK_ReleaseTrackerNotes] PRIMARY KEY CLUSTERED 
在组内使用
(订购人…)

在组内使用
(订购人…)


这会引发一个错误“Msg 174,Level 15,State 1,Line 3字符串_AGG函数需要2个参数。Msg 156,Level 15,State 1,Line 10关键字“AS”附近的语法不正确。“现在我得到Msg 156,Level 15,State 1,Line 12关键字“FROM”附近的语法不正确。看起来您的查询有其他问题,我没有寻找这些问题,我已再次更新。我已将我的第二个表添加到我的问题中,我正在使用该表加入。它仍然无法处理错误Msg 402,级别16,状态1,第3行。数据类型date和varchar在add运算符中不兼容。使用
TRY\u CONVERT
date
进行连接之前,先将其转换为文本。这会引发错误“Msg 174,级别15,状态1,第3行STRING\u AGG函数需要两个参数.Msg 156,15级,状态1,第10行关键字“AS”附近的语法不正确。“现在我得到Msg 156,15级,状态1,第12行关键字“FROM”附近的语法不正确。看起来您的查询有其他问题,我没有寻找,我已再次更新。我已将第二个表添加到我用来连接的问题中。它仍然无法处理错误Msg 402,级别16,状态1,第3行。数据类型date和varchar在add运算符中不兼容。请在
日期
上使用
尝试转换
,在连接之前先将其转换为文本。
CREATE TABLE [dbo].[ReleaseTracker](
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [AOC_ModelID] [int] NOT NULL,
    [MotherboardID] [int] NOT NULL,
    [StatusID] [int] NOT NULL,
    [TestCateoryID] [int] NULL,
    [TestTypeID] [int] NULL,
    [DateStarted] [date] NULL,
    [DateCompleted] [date] NULL,
    [LCS#/ORS#] [nvarchar](20) NULL,
    [ETCDate] [date] NULL,
    [CardsNeeded] [nvarchar](2) NULL,
 CONSTRAINT [PK_Compatibility] PRIMARY KEY CLUSTERED 
SELECT
    ID,            
    STRING_AGG(​TRY_CONVERT(varchar, Date, 101) + ': ' + Notes +
               CHAR(13) + CHAR(10) + CHAR(13), CHAR(10))
        WITHIN GROUP (ORDER BY Date DESC) AS Expr1​
FROM
(
    SELECT DISTINCT ac4.ID, nd.Notes, nd.Date
    FROM dbo.ReleaseTrackerNotes AS nd 
    INNER JOIN dbo.ReleaseTracker AS ac4
        ON ac4.ID = nd.ReleaseTrackerID
) AS vNotes
GROUP BY ID;