Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 31st, 2012  |  syntax: None  |  size: 2.86 KB  |  hits: 13  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. Items getting double-counted in SQL Server, dependent counting logic not working right
  2. SELECT t.Submitting_Agency, COUNT(DISTINCT t.Count) AS RFICount
  3. FROM (
  4.     SELECT RFI_.Submitting_Agency, RFI_.Unique_ID, _LinkEnd.EntityType_ID1, _LinkEnd.Link_ID as Count
  5.         FROM RFI_
  6.             JOIN _LinkEnd ON RFI_.Unique_ID=_LinkEnd.Entity_ID1
  7.         WHERE _LinkEnd.Link_ID LIKE 'CAS%' AND RFI_.Date_Submitted BETWEEN '20110430' AND '20110630'
  8.     UNION ALL
  9.     SELECT RFI_.Task_Force__Initiative AS Submitting_Agency, RFI_.Unique_ID, _LinkEnd.EntityType_ID1, _LinkEnd.Link_ID as Count
  10.         FROM RFI_
  11.         JOIN _LinkEnd ON RFI_.Unique_ID=_LinkEnd.Entity_ID1
  12.         WHERE _LinkEnd.Link_ID LIKE 'CAS%' AND RFI_.Date_Submitted BETWEEN '20110430' AND '20110630' AND RFI_.Task_Force__Initiative IS NOT NULL) t
  13. GROUP BY t.Submitting_Agency
  14.        
  15. ---------------------------------------------------------------------------
  16. | Unique_ID | Submitting_Agency | Task_Force__Initiative | Date_Submitted |
  17. ---------------------------------------------------------------------------
  18. | 1         | Social Service    | Flood Relief TF        | 2011-05-08     |
  19. ---------------------------------------------------------------------------
  20. | 2         | Faith-Based Init. | Homeless Shelter Min.  | 2011-06-08     |
  21. ---------------------------------------------------------------------------
  22. | 3         | Psychology Group  |                        | 2011-05-04     |
  23. ---------------------------------------------------------------------------
  24. | 4         | Attorneys at Law  |                        | 2011-05-05     |
  25. ---------------------------------------------------------------------------
  26. | 5         | Social Service    |                        | 2011-05-10     |
  27. ---------------------------------------------------------------------------
  28.        
  29. Social Service        1
  30. Faith-Based Unit.     0
  31. Psychology Group      1
  32. Attorneys at Law      1
  33. Flood Relief TF       1
  34. Homeless Shelter Min. 1
  35.        
  36. SELECT t.Submitting_Agency ...
  37.        
  38. SELECT
  39.     CASE t.[Task_Force__Initiative]
  40.         WHEN NULL THEN -- Or whatever value constitutes "empty"
  41.             t.[Submitting_Agency]
  42.         ELSE
  43.             t.[Task_Force__Initiative]
  44.     END ...
  45.        
  46. SELECT
  47.     COALESCE(RFI_.[Task_Force__Initiative], RFI_.[Submitting_Agency]),
  48.     COUNT(*)
  49. FROM
  50.     RFI_
  51.     JOIN _LinkEnd
  52.         ON RFI_.[Unique_ID]=_LinkEnd.[Entity_ID1]
  53. WHERE
  54.     _LinkEnd.[Link_ID] LIKE 'CAS%'
  55.     AND RFI_.[Date_Submitted] BETWEEN '20110430' AND '20110630'
  56. GROUP BY
  57.     COALESCE(RFI_.[Task_Force__Initiative], RFI_.[Submitting_Agency])
  58.        
  59. SELECT COLAESCE(Task_Force__Initiative, Submitting_Agency), COUNT(DISTINCT _LinkEnd.Link_ID) AS RFICount
  60.   FROM RFI_
  61.   JOIN _LinkEnd ON RFI_.Unique_ID=_LinkEnd.Entity_ID1
  62.  WHERE _LinkEnd.Link_ID LIKE 'CAS%' AND RFI_.Date_Submitted BETWEEN '20110430' AND '20110630'
  63.  GROUP BY COLAESCE(Task_Force__Initiative, Submitting_Agency);