T-SQL选择语句..SUM和HAVING问题



我有一个类似于下面的表。。。

我需要添加具有完全相同日期的每一行的值。(例如,前两行等于'5',后两行等于'%5',下两行等于[8')

StoretCode   LocName    ParName   DateTime       Value
95010-A-9    AB 901_4   On Line   201305160000   1
NULL         AB 905_8   On Line   201305160000   4
95010-A-9    AB 901_4   On Line   201305170000   2
NULL         AB 905_8   On Line   201305170000   3
95010-A-9    AB 901_4   On Line   201305180000   4
NULL         AB 905_8   On Line   201305180000   4  

结果还应该有一个新的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 'AB 901_4','AB 905_8', Sum(Value)
from dbo.DATA
Where LocName, DateTime = LocName, DateTime

但结果是。。。

消息4145,级别15,状态1,第3行
在","附近的上下文中指定的非布尔类型的表达式,其中需要条件。

尝试了其他几个,但结果类似于上面的非布尔消息。。。

也许是这样的东西?

Select 
  max(StoretCode), 
  'AERBAS' as Locname, 
  max(ParName), 
  DateTime, 
  Sum(Value)
from dbo.DATA
group by DateTime
order by DateTime
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"

最新更新