Dėkui. "If" <baska@hotmail.com> wrote in message news:iu99lq$gr1$1@trimpas.omnitel.net... > Cia ne pirma karta eina panasus uzdaviniai. Jei ukiskai as laikausi > taisykles, kiek imanoma is pradziu uzdavinius spresti per duomenu struktura, > toliau per selectus ir kas lieka atlikti manipuliacijas data setuose. > Nezinau ar galima tame uzdavini eiti ne per selecta, o per duomenu > struktura, tokiu atveju sukurus papildomus laukus jis sprendziasi ukiskai ir > paprastai. > > 1 Sukuriami arba virtualioje lentoje, arba tiesiog fiziskai lentoje pirmu > atveju papildomi du laukai, 1 NrSkirtumai, NrGrupes. Kitais dviem dar vienas > papildomas trecias laukas Nr1 > 2 Esant 2 ir 3 atveju "parsinam" stringa, isskiriam skaiciu ir sukeliam i > Nr1 lauka > 3 i NrSkirtumai lauka sukeliam duomenis, kuriu reiksme lygi, pries tai > esancio ir dabartinio iraso skirtumui(irasu atsortavimas butinas pagal Nr) > 4 Suzymim grupes, kuriu algoritmas skamba panasiai taip, Jei NrSkirtumai > > 1, TAI , NrGrupes = NrGrupes + 1 > > Turint jau tokia struktura toliau nesunkiai gausi rezultata su elementariu > Goup By Selectu pagal NrGrupes lauka. > > P.S Mano praktika sako, kad visada reikia daryti taip db, kad isivaizduoti > jog joje bus maziausiai keli milijonai irasu, todel vengiu kiek imanoma > virtualiu struktura ir tokia struktura organizuociau fiziskai, paciose > lentose duomenu bazeje. > > Cia toks ukiskas sprendimo variantas butu. > > > "zZz" <zZz@zirzilia.lt> wrote in message > news:iu948p$a1a$1@trimpas.omnitel.net... >> Šiandien prireiks, gal kas darėt sekantį grupavimą ir pasidalinsit metodu? >> >> MSSQL 2008 R2 >> >> Yra lenta su lauku NR nvarchar(5) not null. Reikia sugrupuoti pgl. iš >> eilės einančius numerius, >> turėtų sugrupuoti taip (ryšium su tuo, kad kiti parametrai vienodi): >> >> --- >> 1. >> jei yra šie NR - 1, 2, 3, 27, 28, 35, 51, 52, 53, 54 >> >> 1-3 >> 27-28 >> 35 >> 51-54 >> >> --- >> 2. >> Atitinkamai su 1A, 2A, 3A, 27A, 28A, 35A, 51A, 52A, 53A, 54A >> >> 1A-3A >> 27A-28A >> 35A >> 51A-54A >> >> --- >> 3. >> Persidengiančios aibės - 1, 1A, 2, 2A, 3 - turėtų būti atskiros >> >> 1-3 >> 1A-2A >> >> --- >> Domina bet kurio varianto atskirai ir visų variantų bendras sprendimas. >> Ačiū iš anksto. > >