SQL的总和,而不是列表结果
我没有列出每日预算的行列表,只是想知道DalyBudget的总数 我该怎么做SQL的总和,而不是列表结果,sql,sql-server,Sql,Sql Server,我没有列出每日预算的行列表,只是想知道DalyBudget的总数 我该怎么做 SELECT (b.MonthBudget / SUM(wd.WorkingDay) OVER (PARTITION BY YEAR(wd.date), MONTH(wd.date)) ) as DalyBudget FROM [Navision4].[dbo].[Salesboard Working Days] wd OUTER AP
SELECT
(b.MonthBudget /
SUM(wd.WorkingDay) OVER (PARTITION BY YEAR(wd.date), MONTH(wd.date))
)
as DalyBudget
FROM [Navision4].[dbo].[Salesboard Working Days] wd OUTER APPLY
(SELECT COALESCE(ABS(SUM(Amount)), 0) as MonthBudget
FROM [Navision4].[dbo].[Selek Danmark$G_L Budget Entry] b
WHERE MONTH(wd.Date) = MONTH(b.Date) AND
YEAR(wd.date) = YEAR(b.Date) AND
b.[Budget Name] = '2020C' AND
b.[G_L Account No_] LIKE '3%'
) b
WHERE wd.WorkingDay = 1 AND
wd.SalesPersonCode IS NULL AND
wd.companycode = 'Selek Danmark' AND
wd.[Date] >= '2020-07-27' AND wd.[Date] <= '2020-08-17'
这是因为您的
outerapply
结果,只需在选择之前添加DISTINCT
关键字即可
SELECT DISTINCT
(b.MonthBudget / SUM(wd.WorkingDay) OVER (PARTITION BY YEAR(wd.date), MONTH(wd.date))) AS DalyBudget
FROM [Navision4].[dbo].[Salesboard Working Days] wd OUTER APPLY
(
SELECT COALESCE(ABS(SUM(Amount)), 0) as MonthBudget
FROM [Navision4].[dbo].[Selek Danmark$G_L Budget Entry] b
WHERE MONTH(wd.Date) = MONTH(b.Date) AND YEAR(wd.date) = YEAR(b.Date) AND
b.[Budget Name] = '2020C' AND b.[G_L Account No_] LIKE '3%'
)b
WHERE wd.WorkingDay = 1 AND wd.SalesPersonCode IS NULL AND wd.companycode = 'Selek Danmark' AND
wd.[Date] >= '2020-07-27' AND wd.[Date] <= '2020-08-17'
选择DISTINCT
(b.每月预算/总计(工作日)超过(按年(工作日)、月(工作日)划分)作为DalyBudget
从[Navision4].[dbo].[Salesboard工作日]开始应用
(
选择合并(ABS(SUM(Amount)),0)作为月预算
来自[Navision4]。[dbo]。[Selek Danmark$G_L预算条目]b
其中月(公元日期)=月(公元日期)和年(公元日期)=年(公元日期)和
b、 [Budget Name]=“2020C”和b.[G_L账户编号]如“3%”
)b
其中wd.WorkingDay=1,wd.salersoncode为NULL,wd.companycode='Selek Danmark'和
wd.[Date]>='2020-07-27'和wd.[Date]Sum
与什么对比?每工作日
或每公司代码
?如何从(*此处插入sql*)tbl1中选择总和(DalyBudget)
@Sujitmohanty30总总和,两者都有,不做job@Kevin应该这样。你能为它创建一个新的应用程序吗?
SELECT DISTINCT
(b.MonthBudget / SUM(wd.WorkingDay) OVER (PARTITION BY YEAR(wd.date), MONTH(wd.date))) AS DalyBudget
FROM [Navision4].[dbo].[Salesboard Working Days] wd OUTER APPLY
(
SELECT COALESCE(ABS(SUM(Amount)), 0) as MonthBudget
FROM [Navision4].[dbo].[Selek Danmark$G_L Budget Entry] b
WHERE MONTH(wd.Date) = MONTH(b.Date) AND YEAR(wd.date) = YEAR(b.Date) AND
b.[Budget Name] = '2020C' AND b.[G_L Account No_] LIKE '3%'
)b
WHERE wd.WorkingDay = 1 AND wd.SalesPersonCode IS NULL AND wd.companycode = 'Selek Danmark' AND
wd.[Date] >= '2020-07-27' AND wd.[Date] <= '2020-08-17'