padariau tokį variantą: select distinct(tbl1.rec_id), pildymo_data from tbl1 left join tbl2 on tbl1.rec_id=tbl2.rec_id where tbl1.ivedimo_data between '2000.01.01' and '2001.01.01' or tbl2.koregavimo_data between '2000.01.01' and '2001.01.01' ivedimo_data, kada buvo padarytas irasas I tbl1 koregavimo_data saugomi visi iraso koregavimai tbl2. pildymo_data - kada anketa uzpilde respondentas man reikia sekti, ar pildymo data nera toli nuo realybes :) Na ten kruva kontroliniu funkciju daroma. Operatore turi matyti sarasa visu irasu, kuriuos naujai ivede ir prie kuriu prisiliete (dare update, po kiekvieno update atsiranda irasas tbl2 lenteleje) tam tikru laikotarpiu. Auksciau pateiktas scriptas veikia normaliai, trumpiau negu 2x50 pasiūlytas, bet vistiek nenormaliai. Suindeksuoti datų laukai. Jeigu uždedi select vien pagal ivedimo_data arba koregavimo_data ziureti veiksmas netrunka daugiau 10 sekundžių. Jeigu ieškau kartu pagal ivedimo_data ir koregavimo_data, veiksmas uzsitesia apie 4 minutes. "Laimis" parašė naujienų news:je1493$oht$1@trimpas.omnitel.net... HyperLink rašė: > esmė tokia: > > įrašas sukuriamas vieną kartą ir jo sukūrimo data negali keistis (šiuo > atveju, tai yra labai svarbu duomenų įvedimo kontrolei užtikrinti), > todėl aš jį išsaugau tbl1 lauke ivedimo_data > tbl1 lentelėje yra laukas paskutinio_koregavimo_data. Kai įrašas > koreguojamas update automatiskai iterpia ten db serverio current datą. Tikiuosi tam naudoji trigerį? > Paskui > susirandu tą įrašą, paimu tą paskutinio koregavimo datą ir su atitinkamu > rec_id įterpiu į tbl2. Tikiuosi tam naudoji trigerį? Ir tokiu atveju, įterpus naują įrašą, paskiausio koregavimo data == įvedimo data. Atpuola poreikis tikrinti/jungti lentelę tbl2. > > Jeigu įrašas nekoreguojamas, tbl2 neatsiranda jokios informacijos apie > tą įrašą. Neeikvoju be reikalo db vietos. :) > Dėl koregavimo datos. Tai paprasciausias sprendimas tureti tikslia > redagavimo data. :) tbl2, kaip suprantu, yra koregavimo datų *sąrašas*. Tai nesuprantu ką iš tikrųjų turėtų daryti tavo geidžiama užklausa. Nes pateiktame pavyzdyje kai kurios įrašo koregavimo datos iš lentelės tbl2 išlipa iš apsibrėžto intervalo; tokiu atveju įrašas neturėtų būti įtraukiamas? Be to, rezultate norima matyti pildymo datą, kas kertasi su sąlyga ARBA (įvedimo arba koregavimo data). Ką reiškia pildymo_data, kokia šio lauko prasmė? Ir kodėl pildymo data gali būti ankstesnė, nei įvedimo?