bala nemate rašė: > turiu lenta, kurioje fiksuojama, kada pasikeite yra irengimo busena > (1-dirba, 0-stovi) ir laiko stampas. reikia susumuoti atidirbta laika (jei > 1 atsistojo 12:12, o 0 - 12:20, skiasi pradirbta 8 minutes ir t.t.). galit > gal ant kelio uzvesti, nuo ko pradeti aiskintis? > > misliju, uzklausoje reikia koki cikla prasukti ir persidelioti busenas is > eiluciu i stulpus ir tada issirankioti datos skirtuma...(be ciklo turbut > niekaip?) Na kodėl gi niekaip, gana paprastai: SELECT SUM(DATEDIFF(second, s.ts, e.ts)) FROM (SELECT ts, ROW_NUMBER() OVER(ORDER BY ts) AS rn FROM dbo.tdata WHERE status = 1) s INNER JOIN (SELECT ts, ROW_NUMBER() OVER(ORDER BY ts) AS rn FROM dbo.tdata WHERE status = 0) e ON s.rn = e.rn (lentelė 'tdata': 'status' -- būklė (0/1), ts -- laiko štampas) Ciklas galėtų patikrinti ar visi laiko momentai yra teisingi (jų netrūksta, jie nuoseklūs), nors jei duomenų teisingumą garantuoja kitas šaltinis, tai patikra galėtų būti nebent tik tokia: SELECT ts.cnt - te.cnt FROM (SELECT COUNT(ts) AS cnt FROM tdata WHERE status = 0) te, (SELECT COUNT(ts) AS cnt FROM tdata WHERE status = 1) ts