从 SQL Server 获取所有值 [关闭]

Posted

技术标签:

【中文标题】从 SQL Server 获取所有值 [关闭]【英文标题】:Get all values from SQL Server [closed] 【发布时间】:2015-07-16 12:20:50 【问题描述】:

帮助我完成一个 SQL 查询。我会从第一个查询中获取所有值,例如“01,02,03,20,92,93,94”值,而不是两个查询中的函数 MAX。结果:在 b_BookNum 对面我会看到一个字符串:'01 ,02,03,20,92,93,94'

【问题讨论】:

请努力解释你想要什么。将示例数据和期望的结果放入问题中是一个很大的帮助 - 并且比图像更容易阅读。 正确。放置示例数据和预期数据,而不是显示一些结果。 我还是不太清楚。如果你想要它们,那你为什么还要分组呢? 【参考方案1】:

只需取出MAX() 函数并将此列添加到您的group by 子句中,快乐的日子......

SELECT  [b_BookNum]
       ,[b_CHMAT]
       ,COUNT(*) iCount
FROM MPA.dbo.SCHM_Books
GROUP BY [b_BookNum] ,[b_CHMAT]
ORDER BY [b_BookNum]

编辑

令我惊讶的是,您拥有解决问题所需的所有信息,但您却没有能力解决问题。无论如何,这是完整的解决方案:

;WITH CTE AS (
SELECT  [b_BookNum]
       ,COUNT(*) iCount
FROM MPA.dbo.SCHM_Books
GROUP BY [b_BookNum] 
)
SELECT [b_BookNum]
      ,STUFF((SELECT ',' + CAST([b_CHMAT] AS VARCHAR(10))
      FROM dbo.SCHM_Books 
      WHERE [b_BookNum] = C.[b_BookNum]
      FOR XML PATH(''),TYPE)
      .value('.','NVARCHAR(MAX)'),1,1,'') AS [b_CHMAT]
      ,iCount
FROM CTE C 

【讨论】:

请在一个字符串中 哦,你的意思是逗号分隔值? 是的,我的意思是像'01,02,03,20,92,93,94" 看看这个Multiple rows to one comma-separated value 错误:函数“Stuff”需要 4 个参数

以上是关于从 SQL Server 获取所有值 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

从 SQL 中提取一列值并将它们放入数组 VBA [关闭]

将大数据从 sql server 下载到 iOS [关闭]

SQL查询从具有相同列“名称”的其他两个表中获取具有不同值的单列“名称”[关闭]

sql 关闭所有连接SQL Server数据库

关闭SQL Server 数据库所有使用连接

在 SQL Server 中使用存储过程提取值 [关闭]