Guest User

Untitled

a guest
Apr 24th, 2018
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.30 KB | None | 0 0
  1. SELECT
  2. tickets.ticketid,
  3. tickets.tickettype,
  4. tickets_tickettype_lu.tickettypedesc,
  5. tickets.stage,
  6. tickets.position,
  7. tickets.sponsor,
  8. tickets.dev,
  9. tickets.qa,
  10. DATEDIFF(DAY, ticket_history_assignment.savedate, GETDATE()) as 'daysinqueue'
  11. FROM
  12. dbo.tickets WITH (NOLOCK)
  13. LEFT OUTER JOIN dbo.tickets_tickettype_lu WITH (NOLOCK) ON tickets.tickettype = tickets_tickettype_lu.tickettypeid
  14. LEFT OUTER JOIN dbo.tickets_history_assignment WITH (NOLOCK) ON tickets_history_assignment.ticketid = tickets.ticketid
  15. AND tickets_history_assignment.historyid = (
  16. SELECT
  17. MAX(historyid)
  18. FROM
  19. dbo.tickets_history_assignment WITH (NOLOCK)
  20. WHERE
  21. tickets_history_assignment.ticketid = tickets.ticketid
  22. GROUP BY
  23. tickets_history_assignment.ticketid
  24. )
  25. WHERE
  26. tickets.sponsor = @sponsor
  27.  
  28. declare @tickets_history_assignment table (
  29. historyid int,
  30. ticketid int,
  31. sponsor int,
  32. dev int,
  33. qa int,
  34. savedate datetime
  35. )
  36.  
  37. insert into @tickets_history_assignment values (1521402, 92774,20,14, 20, '2009-10-27 09:17:59.527')
  38. insert into @tickets_history_assignment values (1521399, 92774,20,14, 42, '2009-08-31 12:07:52.917')
  39. insert into @tickets_history_assignment values (1521311, 92774,100,14, 42, '2008-12-08 16:15:49.887')
  40. insert into @tickets_history_assignment values (1521336, 92774,100,14, 42, '2009-01-16 14:27:43.577')
  41.  
  42. ;WITH rows AS
  43. (
  44. SELECT *, ROW_NUMBER() OVER (PARTITION BY ticketid ORDER BY savedate DESC) AS rn
  45. FROM @Table
  46. )
  47. SELECT rl.sponsor, ro.savedate
  48. FROM rows rl
  49. CROSS APPLY
  50. (
  51. SELECT TOP 1 rc.savedate
  52. FROM rows rc
  53. JOIN rows rn
  54. ON rn.ticketid = rc.ticketid
  55. AND rn.rn = rc.rn + 1
  56. AND rn.sponsor <> rc.sponsor
  57. WHERE rc.ticketid = rl.ticketid
  58. ORDER BY
  59. rc.rn
  60. ) ro
  61. WHERE rl.rn = 1
  62.  
  63. Msg 102, Level 15, State 1, Procedure usp_GetProjectRecordsByAssignment, Line 159
  64. Incorrect syntax near ';'.
  65. Msg 102, Level 15, State 1, Procedure usp_GetProjectRecordsByAssignment, Line 179
  66. Incorrect syntax near ')'.
  67.  
  68. ;WITH rows AS
  69.  
  70. )
  71.  
  72. CREATE PROCEDURE [dbo].[usp_GetProjectRecordsByAssignment]
  73. (
  74. @assigned numeric(18,0),
  75. @assignedtype numeric(18,0)
  76. )
  77. AS
  78.  
  79. SET NOCOUNT ON
  80.  
  81. WITH rows AS
  82. (
  83. SELECT *, ROW_NUMBER() OVER (PARTITION BY recordid ORDER BY savedate DESC) AS rn
  84. FROM projects_history_assignment
  85. )
  86. SELECT projects_records.recordid,
  87. projects_records.recordtype,
  88. projects_recordtype_lu.recordtypedesc,
  89. projects_records.stage,
  90. projects_stage_lu.stagedesc,
  91. projects_records.position,
  92. projects_position_lu.positiondesc,
  93. CASE projects_records.clientrequested
  94. WHEN '1' THEN 'Yes'
  95. WHEN '0' THEN 'No'
  96. END AS clientrequested,
  97. projects_records.reportingmethod,
  98. projects_reportingmethod_lu.reportingmethoddesc,
  99. projects_records.clientaccess,
  100. projects_clientaccess_lu.clientaccessdesc,
  101. projects_records.clientnumber,
  102. projects_records.project,
  103. projects_lu.projectdesc,
  104. projects_records.version,
  105. projects_version_lu.versiondesc,
  106. projects_records.projectedversion,
  107. projects_version_lu_projected.versiondesc AS projectedversiondesc,
  108. projects_records.sitetype,
  109. projects_sitetype_lu.sitetypedesc,
  110. projects_records.title,
  111. projects_records.module,
  112. projects_module_lu.moduledesc,
  113. projects_records.component,
  114. projects_component_lu.componentdesc,
  115. projects_records.loginusername,
  116. projects_records.loginpassword,
  117. projects_records.assistedusername,
  118. projects_records.browsername,
  119. projects_browsername_lu.browsernamedesc,
  120. projects_records.browserversion,
  121. projects_records.osname,
  122. projects_osname_lu.osnamedesc,
  123. projects_records.osversion,
  124. projects_records.errortype,
  125. projects_errortype_lu.errortypedesc,
  126. projects_records.gsipriority,
  127. projects_gsipriority_lu.gsiprioritydesc,
  128. projects_records.clientpriority,
  129. projects_clientpriority_lu.clientprioritydesc,
  130. projects_records.scheduledstartdate,
  131. projects_records.scheduledcompletiondate,
  132. projects_records.projectedhours,
  133. projects_records.actualstartdate,
  134. projects_records.actualcompletiondate,
  135. projects_records.actualhours,
  136. CASE projects_records.billclient
  137. WHEN '1' THEN 'Yes'
  138. WHEN '0' THEN 'No'
  139. END AS billclient,
  140. projects_records.billamount,
  141. projects_records.status,
  142. projects_status_lu.statusdesc,
  143. CASE CAST(projects_records.assigned AS VARCHAR(5))
  144. WHEN '0' THEN 'N/A'
  145. WHEN '10000' THEN 'Unassigned'
  146. WHEN '20000' THEN 'Client'
  147. WHEN '30000' THEN 'Tech Support'
  148. WHEN '40000' THEN 'LMI Tech Support'
  149. WHEN '50000' THEN 'Upload'
  150. WHEN '60000' THEN 'Spider'
  151. WHEN '70000' THEN 'DB Admin'
  152. ELSE rtrim(users_assigned.nickname) + ' ' + rtrim(users_assigned.lastname)
  153. END AS assigned,
  154. CASE CAST(projects_records.assigneddev AS VARCHAR(5))
  155. WHEN '0' THEN 'N/A'
  156. WHEN '10000' THEN 'Unassigned'
  157. ELSE rtrim(users_assigneddev.nickname) + ' ' + rtrim(users_assigneddev.lastname)
  158. END AS assigneddev,
  159. CASE CAST(projects_records.assignedqa AS VARCHAR(5))
  160. WHEN '0' THEN 'N/A'
  161. WHEN '10000' THEN 'Unassigned'
  162. ELSE rtrim(users_assignedqa.nickname) + ' ' + rtrim(users_assignedqa.lastname)
  163. END AS assignedqa,
  164. CASE CAST(projects_records.assignedsponsor AS VARCHAR(5))
  165. WHEN '0' THEN 'N/A'
  166. WHEN '10000' THEN 'Unassigned'
  167. ELSE rtrim(users_assignedsponsor.nickname) + ' ' + rtrim(users_assignedsponsor.lastname)
  168. END AS assignedsponsor,
  169. projects_records.clientcreated,
  170. CASE projects_records.clientcreated
  171. WHEN '1' THEN 'Yes'
  172. WHEN '0' THEN 'No'
  173. END AS clientcreateddesc,
  174. CASE projects_records.clientcreated
  175. WHEN '1' THEN rtrim(clientusers_createuser.firstname) + ' ' + rtrim(clientusers_createuser.lastname) + ' (Client)'
  176. ELSE rtrim(users_createuser.nickname) + ' ' + rtrim(users_createuser.lastname)
  177. END AS createuser,
  178. projects_records.createdate,
  179. projects_records.savedate,
  180. projects_resolution.sitesaffected,
  181. projects_sitesaffected_lu.sitesaffecteddesc,
  182. DATEDIFF(DAY, projects_history_assignment.savedate, GETDATE()) as 'daysinqueue',
  183. projects_records.iOnHitList,
  184. projects_records.changetype
  185. FROM
  186. dbo.projects_records WITH (NOLOCK)
  187. LEFT OUTER JOIN dbo.projects_recordtype_lu WITH (NOLOCK) ON projects_records.recordtype = projects_recordtype_lu.recordtypeid
  188. LEFT OUTER JOIN dbo.projects_stage_lu WITH (NOLOCK) ON projects_records.stage = projects_stage_lu.stageid
  189. LEFT OUTER JOIN dbo.projects_position_lu WITH (NOLOCK) ON projects_records.position = projects_position_lu.positionid
  190. LEFT OUTER JOIN dbo.projects_reportingmethod_lu WITH (NOLOCK) ON projects_records.reportingmethod = projects_reportingmethod_lu.reportingmethodid
  191. LEFT OUTER JOIN dbo.projects_lu WITH (NOLOCK) ON projects_records.project = projects_lu.projectid
  192. LEFT OUTER JOIN dbo.projects_version_lu WITH (NOLOCK) ON projects_records.version = projects_version_lu.versionid
  193. LEFT OUTER JOIN dbo.projects_version_lu projects_version_lu_projected WITH (NOLOCK) ON projects_records.projectedversion = projects_version_lu_projected.versionid
  194. LEFT OUTER JOIN dbo.projects_sitetype_lu WITH (NOLOCK) ON projects_records.sitetype = projects_sitetype_lu.sitetypeid
  195. LEFT OUTER JOIN dbo.projects_module_lu WITH (NOLOCK) ON projects_records.module = projects_module_lu.moduleid
  196. LEFT OUTER JOIN dbo.projects_component_lu WITH (NOLOCK) ON projects_records.component = projects_component_lu.componentid
  197. LEFT OUTER JOIN dbo.projects_browsername_lu WITH (NOLOCK) ON projects_records.browsername = projects_browsername_lu.browsernameid
  198. LEFT OUTER JOIN dbo.projects_osname_lu WITH (NOLOCK) ON projects_records.osname = projects_osname_lu.osnameid
  199. LEFT OUTER JOIN dbo.projects_errortype_lu WITH (NOLOCK) ON projects_records.errortype = projects_errortype_lu.errortypeid
  200. LEFT OUTER JOIN dbo.projects_resolution WITH (NOLOCK) ON projects_records.recordid = projects_resolution.recordid
  201. LEFT OUTER JOIN dbo.projects_sitesaffected_lu WITH (NOLOCK) ON projects_resolution.sitesaffected = projects_sitesaffected_lu.sitesaffectedid
  202. LEFT OUTER JOIN dbo.projects_gsipriority_lu WITH (NOLOCK) ON projects_records.gsipriority = projects_gsipriority_lu.gsipriorityid
  203. LEFT OUTER JOIN dbo.projects_clientpriority_lu WITH (NOLOCK) ON projects_records.clientpriority = projects_clientpriority_lu.clientpriorityid
  204. LEFT OUTER JOIN dbo.projects_status_lu WITH (NOLOCK) ON projects_records.status = projects_status_lu.statusid
  205. LEFT OUTER JOIN dbo.projects_clientaccess_lu WITH (NOLOCK) ON projects_records.clientaccess = projects_clientaccess_lu.clientaccessid
  206. LEFT OUTER JOIN dbo.users users_assigned WITH (NOLOCK) ON projects_records.assigned = users_assigned.userid
  207. LEFT OUTER JOIN dbo.users users_assigneddev WITH (NOLOCK) ON projects_records.assigneddev = users_assigneddev.userid
  208. LEFT OUTER JOIN dbo.users users_assignedqa WITH (NOLOCK) ON projects_records.assignedqa = users_assignedqa.userid
  209. LEFT OUTER JOIN dbo.users users_assignedsponsor WITH (NOLOCK) ON projects_records.assignedsponsor = users_assignedsponsor.userid
  210. LEFT OUTER JOIN dbo.users users_createuser WITH (NOLOCK) ON projects_records.createuser = users_createuser.userid
  211. LEFT OUTER JOIN dbo.clientusers clientusers_createuser WITH (NOLOCK) ON projects_records.createuser = clientusers_createuser.userid
  212. LEFT OUTER JOIN dbo.projects_history_assignment WITH (NOLOCK) ON projects_history_assignment.recordid = projects_records.recordid
  213. AND projects_history_assignment.historyid = (
  214. SELECT ro.historyid
  215. FROM rows rl
  216. CROSS APPLY
  217. (
  218. SELECT TOP 1 rc.historyid
  219. FROM rows rc
  220. JOIN rows rn
  221. ON rn.recordid = rc.recordid
  222. AND rn.rn = rc.rn + 1
  223. AND rn.assigned <> rc.assigned
  224. WHERE rc.recordid = rl.recordid
  225. ORDER BY
  226. rc.rn
  227. ) ro
  228. WHERE rl.rn = 1
  229. AND rl.recordid = projects_records.recordid
  230. )
  231.  
  232. WHERE
  233. (@assignedtype='0' and projects_records.assigned = @assigned)
  234. OR (@assignedtype='1' and projects_records.assigneddev = @assigned)
  235. OR (@assignedtype='2' and projects_records.assignedqa = @assigned)
  236. OR (@assignedtype='3' and projects_records.assignedsponsor = @assigned)
  237. OR (@assignedtype='4' and projects_records.createuser = @assigned)
  238.  
  239. WITH rows AS
  240. (
  241. SELECT *, ROW_NUMBER() OVER (PARTITION BY ticketid ORDER BY savedate DESC) AS rn
  242. FROM @Table
  243. )
  244. SELECT projects_records.recordid,
  245. projects_records.recordtype,
  246. /* skipped */
  247. AND projects_history_assignment.historyid = (
  248. SELECT ro.historyid
  249. FROM rows rl
  250. CROSS APPLY
  251. (
  252. SELECT TOP 1 rc.savedate
  253. FROM rows rc
  254. JOIN rows rn
  255. ON rn.recordid = rc.recordid
  256. AND rn.rn = rc.rn + 1
  257. AND rn.assigned <> rc.assigned
  258. WHERE rc.recordid = rl.recordid
  259. ORDER BY
  260. rc.rn
  261. ) ro
  262. WHERE rl.rn = 1
  263. AND rl.recordid = projects_records.recordid
  264. )
Add Comment
Please, Sign In to add comment