【发布时间】:2015-04-30 03:49:20
【问题描述】:
我在我的数据库中遇到了这个 case 语句。我试图弄清楚它的作用。基本上这个案例陈述试图做的是预测本周玩具的总和。以下是案例陈述,有人可以分解并向我解释一下。
case
when ROW_NUMBER() over(order by datetbl.[date]) <> COUNT(*) over()
then null
else isnull(case
when case
when ROW_NUMBER() over(order by datetbl.[date]) = COUNT(*) over()
then (sum([Toy])/(datepart(dw,getdate())-1))*7
end = 0
then sum(Toy) + 1
else case
when ROW_NUMBER() over(order by datetbl.[date]) = COUNT(*) over()
then (sum([Toy])/(datepart(dw,getdate())-1))*7
end
end,0)
end [ToyForcast]
谢谢
【问题讨论】:
-
哪个RDBMS(好像我不知道)
-
哇...这是我最近看到的最疯狂的说法
标签: sql sql-server