Sql server T-SQL select语句…求和并有问题

Sql server T-SQL select语句…求和并有问题,sql-server,tsql,Sql Server,Tsql,我有一张类似下面的桌子 StoretCode LocName ParName DateTime Value 95010-A-9 AERBAS On Line 201305160000 5 95010-A-9 AERBAS On Line 201305170000 5 95010-A-9 AERBAS On Line 201305180000 8 Select 'AB 901_4','AB 905_8', Sum(Value) from

我有一张类似下面的桌子

StoretCode   LocName  ParName  DateTime      Value
95010-A-9    AERBAS   On Line  201305160000  5
95010-A-9    AERBAS   On Line  201305170000  5
95010-A-9    AERBAS   On Line  201305180000  8
Select 'AB 901_4','AB 905_8', Sum(Value)
from dbo.DATA  
我需要将每行的值添加到完全相同的日期。 (例如,前两行等于'5',后两行等于'5',后两行等于'8')

StoretCode   LocName  ParName  DateTime      Value
95010-A-9    AERBAS   On Line  201305160000  5
95010-A-9    AERBAS   On Line  201305170000  5
95010-A-9    AERBAS   On Line  201305180000  8
Select 'AB 901_4','AB 905_8', Sum(Value)
from dbo.DATA  
结果还应该有一个新的LocName…因此它应该看起来像

StoretCode   LocName  ParName  DateTime      Value
95010-A-9    AERBAS   On Line  201305160000  5
95010-A-9    AERBAS   On Line  201305170000  5
95010-A-9    AERBAS   On Line  201305180000  8
Select 'AB 901_4','AB 905_8', Sum(Value)
from dbo.DATA  
我试过

StoretCode   LocName  ParName  DateTime      Value
95010-A-9    AERBAS   On Line  201305160000  5
95010-A-9    AERBAS   On Line  201305170000  5
95010-A-9    AERBAS   On Line  201305180000  8
Select 'AB 901_4','AB 905_8', Sum(Value)
from dbo.DATA  
但结果与预期一样…一行包含所有行

StoretCode   LocName  ParName  DateTime      Value
95010-A-9    AERBAS   On Line  201305160000  5
95010-A-9    AERBAS   On Line  201305170000  5
95010-A-9    AERBAS   On Line  201305180000  8
Select 'AB 901_4','AB 905_8', Sum(Value)
from dbo.DATA  
也试过

StoretCode   LocName  ParName  DateTime      Value
95010-A-9    AERBAS   On Line  201305160000  5
95010-A-9    AERBAS   On Line  201305170000  5
95010-A-9    AERBAS   On Line  201305180000  8
Select 'AB 901_4','AB 905_8', Sum(Value)
from dbo.DATA  
Select 'AB 901_4','AB 905_8', Sum(Value)
from dbo.DATA
Where LocName, DateTime = LocName, DateTime
但结果是

StoretCode   LocName  ParName  DateTime      Value
95010-A-9    AERBAS   On Line  201305160000  5
95010-A-9    AERBAS   On Line  201305170000  5
95010-A-9    AERBAS   On Line  201305180000  8
Select 'AB 901_4','AB 905_8', Sum(Value)
from dbo.DATA  
Msg 4145,第15级,状态1,第3行
在“,”附近预期条件的上下文中指定的非布尔型表达式

StoretCode   LocName  ParName  DateTime      Value
95010-A-9    AERBAS   On Line  201305160000  5
95010-A-9    AERBAS   On Line  201305170000  5
95010-A-9    AERBAS   On Line  201305180000  8
Select 'AB 901_4','AB 905_8', Sum(Value)
from dbo.DATA  
尝试了其他几种,但结果与上面的非布尔msg相似

StoretCode   LocName  ParName  DateTime      Value
95010-A-9    AERBAS   On Line  201305160000  5
95010-A-9    AERBAS   On Line  201305170000  5
95010-A-9    AERBAS   On Line  201305180000  8
Select 'AB 901_4','AB 905_8', Sum(Value)
from dbo.DATA  
Select StoretCode , 'AERBAS' as LocName , ParName , DATA.DateTime, datecount.count as [value]
from dbo.DATA 
join ( select DateTime, count(*) as count from dbo.DATA group by DateTime ) datecount 
  on data.DateTime = datecount.DateTime 
where date.StoretCode is not null  

如果您想要LocName的硬编码值,那么“LocName”

可能是这样的

StoretCode   LocName  ParName  DateTime      Value
95010-A-9    AERBAS   On Line  201305160000  5
95010-A-9    AERBAS   On Line  201305170000  5
95010-A-9    AERBAS   On Line  201305180000  8
Select 'AB 901_4','AB 905_8', Sum(Value)
from dbo.DATA  
Select 
  max(StoretCode), 
  'AERBAS' as Locname, 
  max(ParName), 
  DateTime, 
  Sum(Value)
from dbo.DATA
group by DateTime
order by DateTime

新的地名来自哪里?这是所有行将获得的常量值还是取决于原始值?很抱歉…我需要创建新的LocName并删除添加到一起的行…为什么不按日期时间分组。通过[DateTime]从dbo.DATA组中选择'AB 901_4','AB 905_8',求和(值),但这会按StoretCode对所有内容进行分组并删除“Value”列名…我正在处理的实际表有74个不同的StoretCode…我想添加带有我提到的Localnames的行。我不知道如何帮助您,因为这回答了我理解的问题。此输出与所需的输出有何不同?更详细一点具体的…我实际上正在处理一个包含74个StoretCodes(包括NULL)、95个Localnames(很多都有NULL StoretCodes)的表…我需要结合我在示例中提到的两个Localnames…根据发布的示例数据,此查询是否生成正确的结果?我不清楚这两个地名的结合意味着什么。