我有一个类似于下面的表。。。
我需要添加具有完全相同日期的每一行的值。(例如,前两行等于'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"