我创建了一个报告,显示每天最后一个条目的结果(MAX(日期)),但我现在需要显示日期条目是否未记录/ NULL(仅限周一至周五)。
我可以使用表达式获取工作日名称或INT。
我的问题是如何显示是否缺少值。即周一,周二,周四有入境。星期三&星期五没有录入任何条目。
我曾尝试在SQL中执行此操作,但因已经过度设计的存储过程而迷失了。
提前致谢。
答案 0 :(得分:0)
SQL仍然是获取所需数据的最佳方式。我建议使用您想要的有限值列表创建临时表,例如星期一,星期二等。然后,您可以对数据表使用apply运算符,并获得不匹配的日期值。
SELECT * FROM Days D
OUTER APPLY
(
SELECT * FROM Orders E
WHERE DATEPART(wd,e.OrderDate) = D.DayName
) A
会返回类似的内容:
DayName OrderCount Amount
Monday 2 50.00
Tuesday NULL NULL
Wednesday 5 125.00
Thursday NULL NULL
Friday 7 225.00
您可以在下面找到有关您可以使用的应用运算符的文章: