[英]Issue with Multiple select statements
我在查询中使用多个select语句和案例以获得结果。 请查看我要尝试解决的查询。 但这给我聚合函数一个错误。 我正在尝试做的是,我有3个预算标准,结果应该与此相对应。 他们是:
Budget 2015
Budget Jan-july2015
Budget July-dec2015
在第一场我收到预算全2015年,在第二个我想从预算支出july-dec2015
为“当前预算”和第三两个预算jan-july2015
和july-dec2015
应该作为“累计支出”。
SELECT CASE WHEN T1.[AcctName] LIKE '%Salaries%' THEN 'Salaries'
WHEN T1.[AcctName] LIKE '%Travel%' THEN 'Travel'
WHEN T1.[AcctName] LIKE '%Supplies%' THEN 'Supplies'
WHEN T1.[AcctName] LIKE '%Consultants%' THEN 'Consultants'
WHEN T1.[AcctName] LIKE '%Patient%' THEN 'Patient Care'
WHEN T1.[AcctName] LIKE '%Equipment%' THEN 'Equipments'
WHEN T1.[AcctName] LIKE '%Expense%' THEN 'Other Expenses'
WHEN T1.[AcctName] LIKE '%Alteration%' THEN 'Alterations/Renovations' ELSE 'Alterations/Renovations' END,
SUM(T0.[DebLTotal]/85) AS buget , (Select sum(T0.[CrdRLTotal]/85) where T2.[Name] = 'July-Dec2015' ) as 'CurrentBudget',
(select sum(T0.[CrdRLTotal]/85) + 'CurrentBudget' where T2.[Name] = 'jan-july2015') as 'Cummulative'
FROM OBGT
T0 INNER JOIN OACT T1 ON T0.[AcctCode] = T1.[AcctCode] INNER JOIN OBGS T2 ON T0.[Instance] = T2.[AbsId] where T2.[Name] = 'Main Budget 2015'
GROUP BY CASE WHEN T1.[AcctName] LIKE '%Salaries%' THEN 'Salaries'
WHEN T1.[AcctName] LIKE '%Travel%' THEN 'Travel'
WHEN T1.[AcctName] LIKE '%Supplies%' THEN 'Supplies'
WHEN T1.[AcctName] LIKE '%Consultants%' THEN 'Consultants'
WHEN T1.[AcctName] LIKE '%Patient%' THEN 'Patient Care'
WHEN T1.[AcctName] LIKE '%Equipment%' THEN 'Equipments'
WHEN T1.[AcctName] LIKE '%Expense%' THEN 'Other Expenses'
WHEN T1.[AcctName] LIKE '%Alteration%' THEN 'Alterations/Renovations' ELSE 'Alterations/Renovations' END
我不知道如何获取所有必填字段。
这不是答案,只是为了说明如何使用派生表t1来以较短的形式编写代码。
SELECT T1.[AcctName],
SUM(T0.[DebLTotal]/85) AS buget,
(Select sum(T0.[CrdRLTotal]/85) where T2.[Name] = 'July-Dec2015' ) as 'CurrentBudget',
(select sum(T0.[CrdRLTotal]/85) + 'CurrentBudget' where T2.[Name] = 'jan-july2015') as 'Cummulative'
FROM OBGT T0
INNER JOIN
(
SELECT CASE WHEN T1.[AcctName] LIKE '%Salaries%' THEN 'Salaries'
WHEN T1.[AcctName] LIKE '%Travel%' THEN 'Travel'
WHEN T1.[AcctName] LIKE '%Supplies%' THEN 'Supplies'
WHEN T1.[AcctName] LIKE '%Consultants%' THEN 'Consultants'
WHEN T1.[AcctName] LIKE '%Patient%' THEN 'Patient Care'
WHEN T1.[AcctName] LIKE '%Equipment%' THEN 'Equipments'
WHEN T1.[AcctName] LIKE '%Expense%' THEN 'Other Expenses'
WHEN T1.[AcctName] LIKE '%Alteration%' THEN 'Alterations/Renovations'
ELSE 'Alterations/Renovations'
END as [AcctName],
[AcctCode]
from OACT
) as T1 ON T0.[AcctCode] = T1.[AcctCode]
INNER JOIN OBGS T2 ON T0.[Instance] = T2.[AbsId]
where T2.[Name] = 'Main Budget 2015'
GROUP BY T1.[AcctName]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.