netinka tavo variantas:
union all reikia, kad abiejose lentelėse būtų vienodas įrašų skaičius
ivedimo ir koregavimo datas turi ziureti, o ne pildymo
itariu, kad kazkas su left join turetu buti, nes pirmoje lenteleje yra visi
irasai, o koregavimo lenteleje gali nebuti atitikmenu
reikia kad jei pagrindineje lenteleje atitinka ivedimo data nurodyta
intervala, bet nera koregavimo lenteleje to iraso koregavimu, kad vis delto
ta irasa rodytu, nes jis atitinka nurodyta laikotarpi pagal ivedimo_data.
vienu zodziu, irasas is pirmos lenteles turi parodytas tik viena karta, jei
jo ivedimo ar koregavimo datos atitinka nurodyta laikotarpi.
"cinic" wrote in message news:je0tbl$e76$1@trimpas.omnitel.net...
Užklausa čia paprasta:
select rec_id, pildymo data
from tbl1
where recid = :recid and pildymo_data between :d1 and :d2
union all
select rec_id, redagavimo_data
from tbl2
where recid = :recid and pildymo_data between :d1 and :d2
order by redagavimo_data
Pažiūrėjus plačiau, man atrodo, kad galima geriau padaryti tavo DB
struktūrą.
Kas dabar saugoma pas tave tbl1 ir tbl2? Toks jausmas, kad ir ten ir ten -
pakeitimų žurnalas.
Aš daryčiau taip: vienoje lentelėje saugočiau duomenis, o kitoje - jų
pakeitimo istoriją.
myDataTable
Id
OtherFields...
myDataTableChangeLog
id
dataTableId (link to myDataTable.Id)
date
action (new, filled-in, modified, deleted)