如何在sql语句中合并字符数据类型

如何在sql语句中合并字符数据类型,sql,sql-server,tsql,sum,sqldatatypes,Sql,Sql Server,Tsql,Sum,Sqldatatypes,我有个问题。我在网上寻找了一些帮助,但没有一个显示出准确的结果。如果有人能在这方面帮助我,我将不胜感激 以下是场景: 我有一个db_表'a',我必须合并重复的行,我还必须添加另一个字符数据类型的列 是这样的 表A ID |SCORE(character) ------------------- 90 |10000 93 |00005 94 |02000 90 |02000 94 |00005 输出将是: ID |SCORE(character) ------------- 90

我有个问题。我在网上寻找了一些帮助,但没有一个显示出准确的结果。如果有人能在这方面帮助我,我将不胜感激

以下是场景:

我有一个db_表'a',我必须合并重复的行,我还必须添加另一个字符数据类型的列 是这样的

表A

ID  |SCORE(character)
-------------------

90  |10000
93  |00005
94  |02000
90  |02000
94  |00005
输出将是:

ID  |SCORE(character)
-------------
90  |12000
93  |00005
94  |02005

您需要使用
SUM
groupby
。试试看:

SELECT id,sum( convert (int,score)) from myTable group by ID
这很简单

SELECT ID,
       SUM(ISNULL(TRY_CAST(Score AS INT), 0))
FROM YourTable
GROUP BY ID;
请尝试以下操作:

select ID, REPLICATE('0',5-LEN(SUM(CAST(SCORE as int))))+ CAST(SUM(CAST(SCORE as int)) as varchar) as Score
from Table 
group by ID  

如果“分数”列中的所有值都是数字,您应该能够使用
Sum(SCORE)
Group By ID
您可以尝试将字符列强制转换为数字类型,然后可以对表进行分组和汇总,不要在字符列中存储数值。@Andrew感谢您的回复,数据类型是字符,它是以这种方式创建的。我也不能在生产中改变它。我在用if语句编写/构建逻辑时遇到语法方面的困难,如果有人能帮助我,我将非常感激。@Tab Alleman:如果我没有解释清楚这个问题,我很抱歉,你已经标记为重复:但我希望这能说明:它不是sum或add函数本身。它主要是5位字符数据类型编号,我首先将其转换为AS10000、020000003000004000005,如果任何“ID”在“SCORE”下有一个以上的值,则添加它们。要了解更多信息,请查看我在上面的演示。@miguel谢谢:)谢谢大家的及时回复。我得到了它。正如我已经提到的,我对SQL是新的,所以请在把这个问题标记为否定之前考虑一下。其他人也可能从中得到帮助。PeaceI确实尝试了您的代码,但它将其添加为00300+00005和00008(所需的输出为00305)。但我真的很感谢你的回答。