ExpenseExceedsIncome.sql 870 B

123456789101112131415161718192021222324
  1. IF OBJECT_ID ('dbo.ExpenseExceedsIncome','V') IS NOT NULL DROP VIEW dbo.ExpenseExceedsIncome
  2. GO
  3. CREATE VIEW dbo.ExpenseExceedsIncome
  4. AS
  5. with cte
  6. as
  7. (
  8. SELECT c.CompanyID,
  9. c.ContractID,
  10. c.ContractCD,
  11. sum(case when b.[Type] = 'E' then b.CuryRevisedAmount else 0 end) as RevisedExpense,
  12. sum(case when b.[Type] = 'I' then b.CuryRevisedAmount else 0 end) as RevisedIncome
  13. FROM PMBudget b
  14. inner join Contract c on b.CompanyID = c.CompanyID and b.ProjectID = c.ContractID
  15. group by c.CompanyID, c.ContractID, c.ContractCD
  16. )
  17. SELECT c.CompanyID,
  18. c.ContractID,
  19. c.ContractCD,
  20. c.RevisedExpense,
  21. c.RevisedIncome,
  22. case when c.RevisedExpense > c.RevisedIncome then 1 else 0 end as ExpenseExceedsIncome,
  23. case when c.RevisedExpense > c.RevisedIncome then c.RevisedIncome-c.RevisedExpense else 0 end as ExpenseExceedsIncomeBy
  24. from cte c