SQL Server用同一表查询查询

发布于 2025-02-09 03:03:43 字数 799 浏览 2 评论 0原文

我需要得到这样的结果:

”我需要像下面的类似“ ”进行查询,

我尝试使用此查询:

SELECT
    STUFF((SELECT  ', ' + CONVERT(VARCHAR(50), RuleNumber)
           FROM #tempSelectPlusReferralsExtracts v2
           WHERE v2.RuleApprovedDate IN
                 (CASE WHEN (v2.RuleApprovedDate IS NULL ) 
                    THEN NULL
                    ELSE v2.RuleApprovedDate
                    END
                  )
           FOR XML PATH('')), 1, 2, '') [Rules], 
    *  
FROM
    #tempSelectPlusReferralsExtracts

我的结果看起来像这样:

I need to get the result like this:

I need to fetch the result query as like below

I have tried using this query:

SELECT
    STUFF((SELECT  ', ' + CONVERT(VARCHAR(50), RuleNumber)
           FROM #tempSelectPlusReferralsExtracts v2
           WHERE v2.RuleApprovedDate IN
                 (CASE WHEN (v2.RuleApprovedDate IS NULL ) 
                    THEN NULL
                    ELSE v2.RuleApprovedDate
                    END
                  )
           FOR XML PATH('')), 1, 2, '') [Rules], 
    *  
FROM
    #tempSelectPlusReferralsExtracts

My result looks like this:

enter image description here

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

我偏爱纯白色 2025-02-16 03:03:44

正如我提到的,似乎您的案例表达式应围绕您的字符串聚合,而不是其中:

SELECT SPRE.RuleNumber,
       SPRE.RuleApprovedDate,
       CASE WHEN SPRE.RuleApprovedDate IS NULL THEN SPRE.RuleNumber
            ELSE STUFF((SELECT ', ' + CONVERT(varchar(50), v2.RuleNumber)
                        FROM #tempSelectPlusReferralsExtracts v2
                        FOR XML PATH(''),TYPE).value('(./text())[1]','nvarchar(MAX)'),1,2,'')
       END AS [Rules]
FROM #tempSelectPlusReferralsExtracts SPRE;

As I mentioned, seems your CASE expression should be around your string aggregation, not within it:

SELECT SPRE.RuleNumber,
       SPRE.RuleApprovedDate,
       CASE WHEN SPRE.RuleApprovedDate IS NULL THEN SPRE.RuleNumber
            ELSE STUFF((SELECT ', ' + CONVERT(varchar(50), v2.RuleNumber)
                        FROM #tempSelectPlusReferralsExtracts v2
                        FOR XML PATH(''),TYPE).value('(./text())[1]','nvarchar(MAX)'),1,2,'')
       END AS [Rules]
FROM #tempSelectPlusReferralsExtracts SPRE;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文