Advertisement
Guest User

Untitled

a guest
Nov 26th, 2014
152
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.43 KB | None | 0 0
  1. CREATE PROC [dbo].[Test] (@UserTypeID INT,
  2. @UserID INT,
  3. @CityID INT,
  4. @OperatorID INT,
  5. @ParameterID INT)
  6. AS
  7. BEGIN
  8. DECLARE @temp TABLE (
  9. range DECIMAL(18, 2),
  10. range2 DECIMAL(18, 2),
  11. image VARCHAR(50),
  12. symbol VARCHAR(20))
  13.  
  14. IF( @UserID > 0 )
  15. BEGIN
  16. --print 'hii'
  17. INSERT INTO @temp
  18. (range,
  19. range2,
  20. image,
  21. symbol)
  22. SELECT tbl_Legend_ViewNetwork_Dtls.range,
  23. tbl_Legend_ViewNetwork_Dtls.range2,
  24. tbl_Legend_ViewNetwork_Dtls.image,
  25. tbl_Legend_ViewNetwork_Dtls.symbol
  26. FROM tbl_Legend_ViewNetwork_Dtls
  27. INNER JOIN tbl_Legend_ViewNetwork
  28. ON tbl_Legend_ViewNetwork_Dtls.tbl_legend_view_network_id = tbl_Legend_ViewNetwork.id
  29. WHERE tbl_Legend_ViewNetwork.parameter_id = @ParameterID
  30. AND tbl_Legend_ViewNetwork.user_type_id = @UserTypeID
  31. AND tbl_Legend_ViewNetwork.is_default = 1
  32. AND tbl_Legend_ViewNetwork.user_id = @UserID
  33.  
  34. UPDATE @temp
  35. SET range = range2,
  36. range2 = range
  37. WHERE symbol = '<'
  38. END
  39. ELSE
  40. BEGIN
  41. INSERT INTO @temp
  42. (range,
  43. range2,
  44. image,
  45. symbol)
  46. SELECT tbl_Legend_ViewNetwork_Dtls.range,
  47. tbl_Legend_ViewNetwork_Dtls.range2,
  48. tbl_Legend_ViewNetwork_Dtls.image,
  49. tbl_Legend_ViewNetwork_Dtls.symbol
  50. FROM tbl_Legend_ViewNetwork_Dtls
  51. INNER JOIN tbl_Legend_ViewNetwork
  52. ON tbl_Legend_ViewNetwork_Dtls.tbl_legend_view_network_id = tbl_Legend_ViewNetwork.id
  53. WHERE tbl_Legend_ViewNetwork.parameter_id = @ParameterID
  54. AND tbl_Legend_ViewNetwork.user_type_id = @UserTypeID
  55. AND tbl_Legend_ViewNetwork.is_default = 1
  56.  
  57. UPDATE @temp
  58. SET range = range2,
  59. range2 = range
  60. WHERE symbol = '<'
  61. END
  62.  
  63. --select * from @temp
  64. SELECT '[' + STUFF((SELECT ',{"latitude":"' + a.lat + '","longitude":"' + a.long + '","value":"' + CONVERT(VARCHAR(20), a.value) + '","image":"' + temp.image + '"}'
  65. FROM (SELECT tbl_Survey_Details.lat,
  66. tbl_Survey_Details.long,
  67. tbl_Survey_Details.value
  68. FROM tbl_Survey_Details
  69. INNER JOIN tbl_Survey
  70. ON tbl_Survey_Details.tbl_survey_id = tbl_Survey.id
  71. INNER JOIN tbl_Location
  72. ON tbl_Survey.tbl_location_id = tbl_Location.id
  73. INNER JOIN tbl_Area
  74. ON tbl_Location.tbl_area_id = tbl_Area.id
  75. INNER JOIN tbl_City
  76. ON tbl_Area.tbl_city_id = tbl_City.id
  77. WHERE tbl_Survey_Details.tbl_parameter_id = @ParameterID
  78. AND tbl_Survey.tbl_mobile_operator_id = @OperatorID
  79. AND tbl_Area.tbl_city_id = @CityID) AS a
  80. INNER JOIN @temp temp
  81. ON a.value BETWEEN temp.range AND temp.range2
  82. FOR XML Path ('')), 1, 1, '') + ']' AS data
  83. END
  84.  
  85. CREATE PROC [dbo].[Test] (@UserTypeID INT,
  86. @UserID INT,
  87. @CityID INT,
  88. @OperatorID INT,
  89. @ParameterID INT)
  90. AS
  91. BEGIN
  92. DECLARE @temp TABLE (
  93. range DECIMAL(18, 2),
  94. range2 DECIMAL(18, 2),
  95. image VARCHAR(50),
  96. symbol VARCHAR(20))
  97.  
  98. IF( @UserID > 0 )
  99. BEGIN
  100. --print 'hii'
  101. INSERT INTO @temp
  102. (range,
  103. range2,
  104. image,
  105. symbol)
  106. SELECT tbl_Legend_ViewNetwork_Dtls.range,
  107. tbl_Legend_ViewNetwork_Dtls.range2,
  108. tbl_Legend_ViewNetwork_Dtls.image,
  109. tbl_Legend_ViewNetwork_Dtls.symbol
  110. FROM tbl_Legend_ViewNetwork_Dtls
  111. INNER JOIN tbl_Legend_ViewNetwork
  112. ON tbl_Legend_ViewNetwork_Dtls.tbl_legend_view_network_id = tbl_Legend_ViewNetwork.id
  113. WHERE tbl_Legend_ViewNetwork.parameter_id = @ParameterID
  114. AND tbl_Legend_ViewNetwork.user_type_id = @UserTypeID
  115. AND tbl_Legend_ViewNetwork.is_default = 1
  116. AND tbl_Legend_ViewNetwork.user_id = @UserID
  117.  
  118. UPDATE @temp
  119. SET range = range2,
  120. range2 = range
  121. WHERE symbol = '<'
  122. END
  123. ELSE
  124. BEGIN
  125. INSERT INTO @temp
  126. (range,
  127. range2,
  128. image,
  129. symbol)
  130. SELECT tbl_Legend_ViewNetwork_Dtls.range,
  131. tbl_Legend_ViewNetwork_Dtls.range2,
  132. tbl_Legend_ViewNetwork_Dtls.image,
  133. tbl_Legend_ViewNetwork_Dtls.symbol
  134. FROM tbl_Legend_ViewNetwork_Dtls
  135. INNER JOIN tbl_Legend_ViewNetwork
  136. ON tbl_Legend_ViewNetwork_Dtls.tbl_legend_view_network_id = tbl_Legend_ViewNetwork.id
  137. WHERE tbl_Legend_ViewNetwork.parameter_id = @ParameterID
  138. AND tbl_Legend_ViewNetwork.user_type_id = @UserTypeID
  139. AND tbl_Legend_ViewNetwork.is_default = 1
  140.  
  141. UPDATE @temp
  142. SET range = range2,
  143. range2 = range
  144. WHERE symbol = '<'
  145. END
  146.  
  147. SELECT a.lat, a.long,a.value, temp.image
  148. FROM (SELECT tbl_Survey_Details.lat,
  149. tbl_Survey_Details.long,
  150. tbl_Survey_Details.value
  151. FROM tbl_Survey_Details
  152. INNER JOIN tbl_Survey
  153. ON tbl_Survey_Details.tbl_survey_id = tbl_Survey.id
  154. INNER JOIN tbl_Location
  155. ON tbl_Survey.tbl_location_id = tbl_Location.id
  156. INNER JOIN tbl_Area
  157. ON tbl_Location.tbl_area_id = tbl_Area.id
  158. INNER JOIN tbl_City
  159. ON tbl_Area.tbl_city_id = tbl_City.id
  160. WHERE tbl_Survey_Details.tbl_parameter_id = @ParameterID
  161. AND tbl_Survey.tbl_mobile_operator_id = @OperatorID
  162. AND tbl_Area.tbl_city_id = @CityID) AS a
  163. INNER JOIN @temp temp
  164. ON a.value BETWEEN temp.range AND temp.range2
  165.  
  166. END
  167.  
  168. CREATE PROC [dbo].[Test] (@UserTypeID INT,
  169. @UserID INT,
  170. @CityID INT,
  171. @OperatorID INT,
  172. @ParameterID INT)
  173. AS BEGIN
  174.  
  175. with cte1 as (
  176. SELECT
  177.  
  178. case tbl_Legend_ViewNetwork_Dtls.symbol
  179. when '<' then tbl_Legend_ViewNetwork_Dtls.range2
  180. else tbl_Legend_ViewNetwork_Dtls.range
  181. end
  182. as range,
  183.  
  184. case tbl_Legend_ViewNetwork_Dtls.symbol
  185. when '<' then tbl_Legend_ViewNetwork_Dtls.range
  186. else tbl_Legend_ViewNetwork_Dtls.range2
  187. end
  188. as range2,
  189. tbl_Legend_ViewNetwork_Dtls.image
  190. FROM tbl_Legend_ViewNetwork_Dtls
  191. INNER JOIN tbl_Legend_ViewNetwork
  192. ON tbl_Legend_ViewNetwork_Dtls.tbl_legend_view_network_id = tbl_Legend_ViewNetwork.id
  193. WHERE tbl_Legend_ViewNetwork.parameter_id = @ParameterID
  194. AND tbl_Legend_ViewNetwork.user_type_id = @UserTypeID
  195. AND tbl_Legend_ViewNetwork.is_default = 1
  196. AND (tbl_Legend_ViewNetwork.user_id = @UserID OR @UserID is NULL)
  197.  
  198.  
  199. ),
  200.  
  201. cte2 as (
  202.  
  203. SELECT
  204. tbl_Survey_Details.lat,
  205. tbl_Survey_Details.long,
  206. tbl_Survey_Details.value
  207.  
  208. FROM tbl_City
  209.  
  210. INNER JOIN tbl_Area
  211. ON tbl_Area_tbl_city_id = tbl_City.id AND tbl_city_id = @CityID
  212.  
  213. INNER JOIN tbl_Location
  214. ON tbl_Location.tbl_area_id = tbl_Area.id
  215.  
  216. INNER JOIN tbl_Survey
  217. ON tbl_Survey.tbl_location_id = tbl_Location.id
  218.  
  219. INNER JOIN tbl_Survey_Details
  220. ON tbl_Survey_Details.tbl_survey_id = tbl_Survey.id
  221.  
  222. WHERE tbl_Survey_Details.tbl_parameter_id = @ParameterID
  223. AND
  224. tbl_Survey.tbl_mobile_operator_id = @OperatorID
  225. )
  226.  
  227.  
  228. SELECT a.lat, a.long,a.value, cte1.image
  229. FROM cte2
  230.  
  231. INNER JOIN cte1
  232. ON cte2.value BETWEEN cte1.range AND cte1.range2
  233. OPTION (RECOMPILE)
  234. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement