当前位置:   article > 正文

mysql的with的使用_mysql中with和set一起使用

mysql中with和set一起使用
  1. with a as ( <foreach collection="list" item="item" separator="union">
  2. select
  3. '${item.nodePlace}' nodePlace,
  4. '${item.endordertime}' endordertime,
  5. '${item.dataTime}' dataTime,
  6. '${item.SensorTypeID}' SensorTypeID,
  7. '${item.maxData}' maxData,
  8. '${item.minData}' minData,
  9. '${item.alarmId}' AlarmID,
  10. '${item.mineId}' mineId,
  11. '${item.minDataTime}' minDataTime,
  12. '${item.maxDataTime}' maxDataTime,
  13. '${item.startTime}' startTime,
  14. '${item.endTime}' endTime,
  15. '${item.lastUpdateTime}' lastUpdateTime,
  16. '${item.alaReason}' alaReason,
  17. '${item.alaproStep}' alaproStep,
  18. '${item.sensorUnit}' sensorUnit,
  19. '${item.stateId}' stateId,
  20. '${item.nodeId}' nodeId,
  21. '${item.avgData}' avgData,
  22. '${item.sensorName}' sensorName,
  23. '${item.alarmLevel}' alarmLevel,
  24. '${item.mineZK}' mineZK,
  25. '${item.mineZT}' mineZT,
  26. '${item.wsGrade}' wsGrade,
  27. '${item.hydrogeological}' hydrogeological,
  28. '${item.fire}' fire,
  29. '${item.rockburs}' rockburs
  30. </foreach>
  31. )
  32. select a.*,
  33. vs.pathName AS deptParentName,
  34. k.MineName as mineName,
  35. k.MineID as mineId,
  36. k.dept_id as deptId,
  37. d.dic_name as alarmType,
  38. ar.AcceptAlarmFlg aracceptAlarmFlg,
  39. ar.AcceptAlarmPerson arAcceptAlarmPerson,
  40. ar.AcceptAlarmTime arAcceptAlarmTime,
  41. ar.Duties arduties,
  42. ar.Miners arminers,
  43. ar.Remark arRemark,
  44. ai.AcceptAlarmFlg aiacceptAlarmFlg,
  45. ai.AcceptAlarmPerson aiAcceptAlarmPerson,
  46. ai.AcceptAlarmTime aiAcceptAlarmTime,
  47. ai.Duties aiduties,
  48. ai.Miners aiminers,
  49. ai.Remark aiRemark,
  50. aim.AcceptAlarmFlg aimacceptAlarmFlg,
  51. aim.AcceptAlarmPerson aimAcceptAlarmPerson,
  52. aim.AcceptAlarmTime aimAcceptAlarmTime,
  53. aim.Duties aimduties,
  54. aim.Miners aimminers,
  55. aim.Remark aimRemark,
  56. aim.File1 aimfile,
  57. aim.TypeRemark aimtyperemark,
  58. c.AcceptAlarmFlg acceptAlarmFlg,
  59. c.AcceptAlarmPerson acceptAlarmPerson,
  60. c.AcceptAlarmTime acceptAlarmTime,
  61. c.Remark acceptRemark,
  62. c.Duties duties,
  63. c.Miners miners,
  64. c.SelectRemark selectsemark,
  65. g.ResponsePerson responsePerson,
  66. g.ResponseTime responseTime,
  67. g.Remark respRemark,
  68. g.MisreportFlg respMisreportFlg,
  69. h.FalseType falseType,
  70. h.FalseReason falseReason,
  71. z.AcceptAlarmPerson mAcceptAlarmPerson,
  72. z.AcceptAlarmTime mAcceptAlarmTime,
  73. z.Remark mRemark,
  74. ca.AcceptAlarmFlg cAcceptAlarmFlg,
  75. ca.AcceptAlarmPerson cAcceptAlarmPerson,
  76. ca.AcceptAlarmTime cAcceptAlarmTime,
  77. ca.Duties cduties,
  78. ca.Miners cminers,
  79. ca.Remark caRemark,
  80. la.AcceptAlarmFlg lAcceptAlarmFlg,
  81. la.AcceptAlarmPerson lAcceptAlarmPerson,
  82. la.AcceptAlarmTime lAcceptAlarmTime,
  83. la.Duties lduties,
  84. la.Miners lminers,
  85. la.Remark laRemark,
  86. dis.DispatchPerson DispatchPerson,
  87. dis.DispatchTime DispatchTime,
  88. dis.Remark disRemark,
  89. dis.File1 disFile1,
  90. dis.MisreportFlg disMisreportFlg,
  91. dis.SelectRemark disSelectRemark,
  92. dip.DisposePeople dipDisposePeople,
  93. dip.DispatchTime dipDispatchTime,
  94. dip.Remark dipRemark,
  95. cr.ResponsePerson cresponsePerson,
  96. cr.ResponseTime cresponseTime,
  97. cr.Remark cremark,
  98. cr.MisreportFlg cmisreportFlg,
  99. lr.ResponsePerson lresponsePerson,
  100. lr.ResponseTime lresponseTime,
  101. lr.Remark lremark,
  102. lr.MisreportFlg lmisreportFlg,
  103. v.VerifyPerson verifyPerson,
  104. v.VerifyTime verifyTime,
  105. v.Remark vRemark,
  106. v.File1 vFile1,
  107. v.MisreportFlg vMisreportFlg,
  108. kar.File1 filePathAnaly,
  109. case
  110. when n.NodeID is null then a.MaxData
  111. when n.AlarmUpperValue=0 then a.MinData
  112. when a.MaxData >= n.AlarmUpperValue then a.MaxData
  113. when a.MinData &lt;=n.AlarmLowerValue then a.MinData
  114. else a.MaxData end Datas,
  115. case
  116. when n.NodeID is null then DATE_FORMAT(a.MaxDataTime,'%Y-%m-%d %H:%i:%S')
  117. when n.AlarmUpperValue=0 then DATE_FORMAT(a.MinDataTime,'%Y-%m-%d %H:%i:%S')
  118. when a.MaxData >= n.AlarmUpperValue then DATE_FORMAT(a.MaxDataTime,'%Y-%m-%d %H:%i:%S')
  119. when a.MinData &lt;= n.AlarmLowerValue then DATE_FORMAT(a.MinDataTime,'%Y-%m-%d %H:%i:%S')
  120. else DATE_FORMAT(a.MaxDataTime,'%Y-%m-%d %H:%i:%S') end DataTimes
  121. from a
  122. left join v_k_mine_base AS k ON a.mineId = k.MineID
  123. LEFT JOIN k_dictionary d ON d.dic_code = a.stateId AND d.dic_type = 'nodeAlarmType'
  124. left join k_analy_report kar on kar.AlarmID = a.AlarmID
  125. LEFT JOIN k_alarm_accept c ON c.AlarmID = a.AlarmID
  126. LEFT JOIN k_accept_resident ar on a.AlarmID=ar.AlarmID
  127. LEFT JOIN k_accept_inspector ai on a.AlarmID=ai.AlarmID
  128. LEFT JOIN k_accept_immediately aim on a.AlarmID=aim.AlarmID
  129. LEFT JOIN (SELECT
  130. *
  131. FROM
  132. ( SELECT ROW_NUMBER() OVER ( PARTITION BY b.AlarmID ORDER BY b.ResponseTime desc ) AS `ROW`,b.* FROM k_alarm_response b ) a
  133. WHERE
  134. a.ROW = 1) g ON g.AlarmID = a.AlarmID
  135. left join k_false_alarm h on a.AlarmID=h.AlarmID and h.SensorTypeID in ('0043','0001','0011') and
  136. h.StateID='001'
  137. left join k_alarm_accept_mine z on z.AlarmID=a.AlarmID
  138. LEFT JOIN k_node n on a.NodeID=n.NodeID
  139. left join v_k_dept_path vs on vs.MineID=a.mineId and vs.pid=#{topId}
  140. LEFT JOIN k_company_accept ca on a.AlarmID=ca.AlarmID
  141. LEFT JOIN k_local_accept la on a.AlarmID=la.AlarmID
  142. LEFT JOIN k_dispatch_accept dis on a.AlarmID=dis.AlarmID
  143. LEFT JOIN k_dispose_accept dip on a.AlarmID=dip.AlarmID
  144. LEFT JOIN (SELECT
  145. *
  146. FROM
  147. ( SELECT ROW_NUMBER() OVER ( PARTITION BY b.AlarmID ORDER BY b.ResponseTime desc ) AS `ROW`,b.* FROM k_company_response b ) a
  148. WHERE
  149. a.ROW = 1) cr on cr.AlarmID=a.AlarmID
  150. LEFT JOIN (SELECT
  151. *
  152. FROM
  153. ( SELECT ROW_NUMBER() OVER ( PARTITION BY b.AlarmID ORDER BY b.ResponseTime desc ) AS `ROW`,b.* FROM k_local_response b ) a
  154. WHERE
  155. a.ROW = 1) lr on lr.AlarmID=a.AlarmID
  156. LEFT JOIN ( SELECT
  157. t1.*
  158. FROM
  159. k_alarm_verify t1 inner join (SELECT MAX( VerifyTime ) AS VerifyTime FROM k_alarm_verify GROUP BY AlarmID ) t2 ON t1.VerifyTime = t2.VerifyTime) v
  160. ON v.AlarmID = a.AlarmID

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号