sql - 查询计算每日预算
问题描述
我有这个 SQL,我可以在其中获取每月预算以及当月有多少个工作日。但我需要每日预算的数字
Monthbudget / Workingdays
我该如何解决?
SELECT
b.Date,
CAST(ISNULL(ABS(SUM(Amount)),0) AS int) AS MonthBudgetAmount,
(SELECT COUNT(wd.WorkingDay) as WD FROM [Salesboard Working Days] wd WHERE (MONTH(wd.Date) = MONTH(b.Date) AND YEAR(wd.date) = YEAR(b.Date)) AND wd.WorkingDay = 1) AS WorkingDays,
'0' As DailyBudgetAmount
FROM [Selek$G_L Budget Entry] b
WHERE b.[Budget Name] = '2020C' AND b.[G_L Account No_] LIKE '3%'
GROUP BY b.Date
解决方案
您可以使用运算符划分它们/
。我会将原始查询包装在子查询中,这样您就不必重复工作日计算:
SELECT (MonthBudgetAmount,
WorkingDays,
CASE WorkingDays WHEN 0 THEN -1 -- Or some other default to avoid zero division
ELSE MonthBudgetAmount / WorkingDays
END
FROM (SELECT b.Date,
CAST(ISNULL(ABS(SUM(Amount)),0) AS int) AS MonthBudgetAmount,
(SELECT COUNT(wd.WorkingDay) as WD FROM [Salesboard Working Days] wd WHERE (MONTH(wd.Date) = MONTH(b.Date) AND YEAR(wd.date) = YEAR(b.Date)) AND wd.WorkingDay = 1
) AS WorkingDays
FROM [Selek$G_L Budget Entry] b
WHERE b.[Budget Name] = '2020C' AND b.[G_L Account No_] LIKE '3%'
GROUP BY b.Date) t
推荐阅读
- python - 如何使用 Python 解析来自公共 Google 日历的事件
- python - 如何打印具有给定页面范围的 WORD 文档。Python
- javascript - 我需要使用哪个 jquery 事件来仅查看 Html 中的最后一个数据
- macos - 如何跟踪 Safari 的错误修复?
- javascript - 如何在水平条形图js中的每个条上默认设置百分比值
- flutter - 如何在checkboxlisttile中选择多个复选框
- php - 使用 PHP OOP 和本机 SQL 将大型表单插入 SQL 数据库的最快方法?
- postgresql - 如何在 github 操作中删除 docker 中的 postgresql 模式
- java - 带有 websocket 和会话拦截器的 Spring + Tomcat = 问题
- android - Jetpack Compose:在可滚动中使用 AndroidView 时,我看到了意外行为