Sql 如何将多个语句组合成一个语句?
好的,这里有一个小独家新闻,我正在努力完成。我在select语句中有一个case语句。这是我的…:Sql 如何将多个语句组合成一个语句?,sql,sql-server,sql-server-2008-r2,Sql,Sql Server,Sql Server 2008 R2,好的,这里有一个小独家新闻,我正在努力完成。我在select语句中有一个case语句。这是我的…: CASE pu.Group_Value WHEN 1 THEN 'A' WHEN 2 THEN 'B' WHEN 3 then 'C' WHEN 4 then 'D' WHEN 5 then 'E' WHEN 6 then 'F' WHEN 7 then 'G' END AS Groups, 我遇到的问题是,这个case语句可
CASE pu.Group_Value
WHEN 1 THEN 'A'
WHEN 2 THEN 'B'
WHEN 3 then 'C'
WHEN 4 then 'D'
WHEN 5 then 'E'
WHEN 6 then 'F'
WHEN 7 then 'G'
END AS Groups,
我遇到的问题是,这个case语句可以有多个返回。我需要做的是能够将这些组合成一个。我最终返回了7行,但只需要一行,该行列中包含所有7个字母
谢谢 您可能要做的是按pu.GROUP\u值分组
此查询返回的行数取决于SQL查询的其余部分,而不是上面包含的内容。如果您只想返回一行,请选择Top1。。。是您最快的赌注,否则您将需要更具体地使用WHERE子句标准或使用GROUP BY进行评估,这可能会更改您在SELECT中包含的列。使用
进行XML PATH
。例如:
SELECT STUFF(
(
SELECT ','+ CASE pu.Group_Value
WHEN 1 THEN 'A'
...
END
FROM pu
FOR XML PATH('')
),1,1,'') as Groups
只需确保案例逻辑中没有为NULL留出任何空间,否则会使整个字符串为NULL。看起来需要连接行。您正在使用SQL Server或其他数据库管理系统吗?不,它不能。case语句将按行计算。它不会生成新行。您能否进一步解释一下,也许可以举例说明您的起始数据是什么样的,导致7行返回的场景以及所需的结束状态?我已经尝试了连接行。。。SQL Server 2008R2…好的,我可以让所有七个值返回,我要做的是获取这些值(1、2、3、4、5、6和7)并为它们分配一个字母。但并非所有时候都会返回(可能只得到1或2)。我需要做的是能够将“WHEN”组合在一起,这样就可以像(A,B,C)这样。。。现在我只返回一行,这就是我所需要的,但是需要这些值的列只显示一个字母,并用不同的字母填充更多的行…非常好,您希望根据一些分组标准将这些值连接在一起(所有具有相同ID的行一起)。秩序重要吗?1,2,3,4,5对于数据消费者而言是否与5,4,3,2,1和1,3,5,4,2相同?另外,当你回复评论时,将评论编辑到你的问题中,然后使用@handleCould提醒发问者,这通常是很有帮助的。我能得到一个更好的例子吗,只是让我有点困惑@我会看到这个来理解它是如何构建的。如果您有更复杂的查询,请发布,我将向您展示如何将它们用于内容,对于XML PathThank@PinnyM,我将试一试!