Advertisement
Guest User

Untitled

a guest
Oct 30th, 2015
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SCL 5.17 KB | None | 0 0
  1. DECLARE @date1 datetime;
  2. DECLARE @date2 datetime;
  3. DECLARE @alltime INT;  
  4. SET @alltime = %d;  
  5. SET @date1 = %s;  
  6. SET @date2 = %s;  
  7. SELECT dm.marka,dm.TYPE,COUNT(d.kod) as COUNT,COUNT(pu.dvigatel) as wcount, COUNT(pub.kod) as bcount,  
  8. COUNT(publast.kod) as broken,COUNT(DISTINCT dpu.sved_spis) as spis,COUNT(pususp.kod) as suspended,
  9.  COUNT(puworkonend.kod) as onend,   SUM(CASE WHEN (pu.broken = 'd' OR pu.broken = 'u') THEN 1 ELSE 0 END)  as brok_count,
  10.  AVG(CASE WHEN (d.sved_buh >= d.sved_spis OR @date2 < @date1) THEN 0  WHEN (@alltime <=0 AND (d.sved_spis IS NULL OR d.sved_spis > @date2)
  11.  AND d.sved_buh <= @date1 AND d.sved_buh < @date2)   THEN (CONVERT(INT,@date2)+1-CONVERT(INT,@date1))  WHEN (@alltime > 0 AND (d.sved_spis IS NULL OR d.sved_spis > @date2)
  12.  AND d.sved_buh <= @date1 AND d.sved_buh < @date2)   THEN (CONVERT(INT,@date2)+1-CONVERT(INT,d.sved_buh))
  13. WHEN ((d.sved_spis IS NULL OR d.sved_spis > @date2) AND d.sved_buh > @date1 AND d.sved_buh < @date2)   THEN (CONVERT(INT,@date2)+1-CONVERT(INT,d.sved_buh))  
  14. WHEN (@alltime <=0 AND d.sved_spis <= @date2 AND d.sved_spis > @date1 AND d.sved_buh <= @date1 AND d.sved_buh < @date2)   THEN (CONVERT(INT,d.sved_spis)+1-CONVERT(INT, @date1))  
  15. WHEN (@alltime > 0 AND d.sved_spis <= @date2 AND d.sved_spis > @date1 AND d.sved_buh <= @date1 AND d.sved_buh < @date2)   THEN (CONVERT(INT,d.sved_spis)+1-CONVERT(INT, d.sved_buh))  
  16. WHEN (d.sved_spis <= @date2 AND d.sved_spis > @date1 AND d.sved_buh > @date1 AND d.sved_buh < @date2)   THEN (CONVERT(INT,d.sved_spis)+1-CONVERT(INT,d.sved_buh))  ELSE 0 END)*24 as nar_avg,  
  17. MIN(CASE WHEN (d.sved_buh >= d.sved_spis OR @date2 < @date1) THEN 0  WHEN (@alltime <=0 AND (d.sved_spis IS NULL OR d.sved_spis > @date2) AND d.sved_buh <= @date1 AND d.sved_buh < @date2)  
  18. THEN (CONVERT(INT,@date2)+1-CONVERT(INT,@date1))   WHEN (@alltime > 0 AND (d.sved_spis IS NULL OR d.sved_spis > @date2) AND d.sved_buh <= @date1 AND d.sved_buh < @date2)  
  19. THEN (CONVERT(INT,@date2)+1-CONVERT(INT,d.sved_buh))   WHEN ((d.sved_spis IS NULL OR d.sved_spis > @date2) AND d.sved_buh > @date1 AND d.sved_buh < @date2)  
  20. THEN (CONVERT(INT,@date2)+1-CONVERT(INT,d.sved_buh))   WHEN (@alltime <=0 AND d.sved_spis <= @date2 AND d.sved_spis > @date1 AND d.sved_buh <= @date1 AND d.sved_buh < @date2)  
  21. THEN (CONVERT(INT,d.sved_spis)+1-CONVERT(INT, @date1))  WHEN (@alltime > 0 AND d.sved_spis <= @date2 AND d.sved_spis > @date1 AND d.sved_buh <= @date1 AND d.sved_buh < @date2)  
  22. THEN (CONVERT(INT,d.sved_spis)+1-CONVERT(INT, d.sved_buh))  WHEN (d.sved_spis <= @date2 AND d.sved_spis > @date1 AND d.sved_buh > @date1 AND d.sved_buh < @date2)  
  23. THEN (CONVERT(INT,d.sved_spis)+1-CONVERT(INT,d.sved_buh))
  24. ELSE 0 END)*24 as nar_min,  MAX(CASE WHEN (d.sved_buh >= d.sved_spis OR @date2 < @date1) THEN 0  WHEN (@alltime <=0 AND (d.sved_spis IS NULL OR d.sved_spis > @date2)
  25. AND d.sved_buh <= @date1 AND d.sved_buh < @date2)   THEN (CONVERT(INT,@date2)+1-CONVERT(INT,@date1))   WHEN (@alltime > 0 AND (d.sved_spis IS NULL OR d.sved_spis > @date2)
  26. AND d.sved_buh <= @date1 AND d.sved_buh < @date2)   THEN (CONVERT(INT,@date2)+1-CONVERT(INT,d.sved_buh))  WHEN ((d.sved_spis IS NULL OR d.sved_spis > @date2) AND d.sved_buh > @date1 AND d.sved_buh < @date2)  
  27.  THEN (CONVERT(INT,@date2)+1-CONVERT(INT,d.sved_buh))  WHEN (@alltime <=0 AND d.sved_spis <= @date2 AND d.sved_spis > @date1 AND d.sved_buh <= @date1 AND d.sved_buh < @date2)  
  28.  THEN (CONVERT(INT,d.sved_spis)+1-CONVERT(INT, @date1))  WHEN (@alltime > 0 AND d.sved_spis <= @date2 AND d.sved_spis > @date1 AND d.sved_buh <= @date1 AND d.sved_buh < @date2)
  29. THEN (CONVERT(INT,d.sved_spis)+1-CONVERT(INT, d.sved_buh))  WHEN (d.sved_spis <= @date2 AND d.sved_spis > @date1 AND d.sved_buh > @date1 AND d.sved_buh < @date2)  
  30.  THEN (CONVERT(INT,d.sved_spis)+1-CONVERT(INT,d.sved_buh))  ELSE 0 END)*24 as nar_max  FROM dvigateli d  LEFT JOIN pumpunits pu ON pu.dvigatel = d.kod AND ((pu.datestart > @date1
  31.  AND pu.dateend <= @date2)   OR (pu.datestart <= @date1 AND (pu.dateend > @date2 OR pu.dateend IS NULL)) OR (pu.datestart > @date1   AND (pu.dateend >= @date2 AND pu.dateend > @date1 OR pu.dateend IS NULL)
  32.  AND pu.datestart < @date2)   OR (pu.datestart <= @date1 AND (pu.dateend <= @date2 AND pu.dateend > @date1 OR pu.dateend IS NULL) AND pu.datestart < @date2))
  33.   LEFT JOIN pumpunits puworkonend ON puworkonend.dvigatel = d.kod AND puworkonend.dateend IS NULL   OR puworkonend.dateend >= @date2 AND puworkonend.datestart < @date2
  34. LEFT JOIN dvigateli dpu ON dpu.kod = pu.dvigatel  LEFT JOIN pumpunits pub ON pub.kod = pu.kod AND (pub.datestart < @date2 AND pub.dateend <= @date2   AND pub.dateend > @date1
  35. AND (pub.broken = 'd' OR pub.broken = 'u'))   LEFT JOIN pumpunits publast ON publast.kod = pu.kod AND (publast.datestart < @date2 AND publast.dateend <= @date2   AND publast.dateend > @date1
  36. AND (publast.broken = 'd' OR  publast.broken = 'u') AND publast.dateend = d.sved_spis AND d.sved_spis IS NOT NULL)  LEFT JOIN pumpunits pususp ON pususp.kod = pu.kod AND (pususp.broken <> 'd'
  37. OR pususp.dateend <> d.sved_spis)  LEFT JOIN dvigateli_marky dm ON dm.marka = d.marka   GROUP BY dm.marka,dm.TYPE , alltime, XDTX0(m_connection->m_pdb, dateend.c_str()), XDTX1(m_connection->m_pdb, datestart.c_str()));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement