sql - Want month wise net amount and mandays in sql when a date range is selected fromdate to todate
问题描述
SELECT T0.[U_BRANCH] 'branch',sum(T1.[U_NETAMT]) 'Net amount',sum((CASE when T1.[U_HRSWKD]>0 then 1 else 0 end)) 'mandays'
FROM [dbo].[@MLD_OLBRATTD] T0
INNER JOIN [dbo].[@MLD_LABATTD1] T1 ON T1.[DocEntry] = T0.[DocEntry]
Where T0.[U_STARTDT]>=@FromDate and T0.[U_STARTDT]<=@ToDate and T1.[U_HRSWKD]>0
group by T0.U_BRANCH
branch Net amount mandays
TOONG 1483651.896266 5345
MRF 2480092.992900 11952
TEJO 1311481.288500 4834
想要按月查询这里的条件是
Declare @FromDate As DateTime
Declare @ToDate As DateTime
Set @FromDate='20190401'--{?FromDate}
Set @ToDate ='20190730'--{?ToDate}
解决方案
尝试这个。
DATEPART
函数将返回日期列中的特定部分。使用MONTH
,您可以获得所需的输出。
SELECT T0.[U_BRANCH] 'branch'
,DATEPART(MONTH,T0.[U_STARTDT]) [Month]
,sum(T1.[U_NETAMT]) 'Net amount'
,sum((CASE when T1.[U_HRSWKD]>0 then 1 else 0 end)) 'mandays'
FROM [dbo].[@MLD_OLBRATTD] T0
INNER JOIN [dbo].[@MLD_LABATTD1] T1 ON T1.[DocEntry] = T0.[DocEntry]
Where T0.[U_STARTDT]>=@FromDate and T0.[U_STARTDT]<=@ToDate and T1.[U_HRSWKD]>0
group by T0.U_BRANCH,DATEPART(MONTH,T0.[U_STARTDT])
推荐阅读
- html - 如何使用 xpath 获取特定标签内的所有标签
- html - 如何在表格单元格内制作按钮和文本框元素以获得完整高度?
- spring-data-jpa - 带有自定义查询和自定义响应对象的 Spring JPA 规范 API。这可能吗?
- python - 无效的 HAAR 功能(预期:'rw.rx + rw.r.width <= W')
- python - 如何在 MyBinder 或 Google Colab 上自动运行 Github 代码(使用 python)而不下载示例代码?
- plot - 用于 splot 3D 错误表面的 gnuplot 调色板:对称颜色
- discord.py - 如何在 discord.py 中发送消息
- javascript - 如何在 JavaScript 中使用格式化字符串而不是串联
- javascript - 通过 fetch() 在 Express 路由中使用 CRUD 操作时如何处理特殊字符?
- c++ - C++ 将子类的对象添加到父类的向量中