Tema: Re: Dar vienas prašymas dėl SQL
Autorius: HyperLink
Data: 2012-01-04 09:28:15
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)