En saa MS-SQL ryhmittelyä toimimaan haluamallani tavalla. Alla lyhyt kuvaus sekä koodi.
Repladone taulussa on aikaleimoja "r.pvm" mihin aikaa tietue on tarkalleen kuitattu.
Miten saisin alla olevaan lisättyä tällaisen ehto lausekkeen ryhmittelyyn?
Jos paussi on pidempi kuin 15min tietueiden kuittaamisen välissä,
tee niistä uusi group.
DECLARE @temp TABLE (PM varchar(100),SARJA varchar(100),DUBBARI varchar(100), ALKU varchar(100), LOPPU varchar(100),AIKA varchar(100), TUNTIDEC decimal(18,2),REPLAT int) INSERT @temp SELECT convert(varchar,r.pvm,104), --AS PM Sarjanimi,d.nimi, convert(varchar, (MIN(r.pvm)), 108), --AS ALKU convert(varchar, (MAX(r.pvm)), 108), --AS LOPPU convert(varchar, DATEDIFF(MINUTE, MIN(r.pvm), MAX(r.pvm))), --AS AIKA (DATEDIFF(MINUTE, MIN(r.pvm), MAX(r.pvm)))/cast(60 as decimal (2)), --AS TUNTIDEC COUNT(r.repla_ID) --AS REPLAT FROM repladone R JOIN dubbari D ON r.dub_ID=d.dub_ID JOIN sarjatieto S ON r.sarja_ID=s.sarja_ID WHERE r.pvm > GETDATE()-1 GROUP BY convert(varchar,r.pvm,104),d.nimi,s.Sarjanimi HAVING ((DATEDIFF(MINUTE, MIN(r.pvm), MAX(r.pvm)))/cast(60 as decimal (2)) > 0) SELECT *,cast((t.REPLAT/t.TUNTIDEC) as int) AS '/T' FROM @temp T ORDER BY PM DESC, LOPPU DESC
Aihe on jo aika vanha, joten et voi enää vastata siihen.