Query cu val. curenta si ultima val. valida pe acelasi rand
Am un tabel in care am toate inregistrarile unor echipamente (printre care "data" si "pozitia instantanee"). Exista situatii cand valoarea pentru pozitia instantanee este invalida si campul ramane gol.
Cum fac o interogare in care sa-mi apara pe acelasi rand/inregistrare intr-o celula valoarea curenta si in altele, ultima valoare valida si data acesteia?
Multumesc.
Cum fac o interogare in care sa-mi apara pe acelasi rand/inregistrare intr-o celula valoarea curenta si in altele, ultima valoare valida si data acesteia?
Multumesc.
-
- Mesaje:38
- Membru din:Mie Apr 27, 2011 3:06 pm
- Localitate:Pitești
Re: Query cu val. curenta si ultima val. valida pe acelasi r
Folosind SubQueries. De exemplu:
Cod: Selectaţi tot
select
t1.echipament
,t1.data
,t1.pozitie
,(select top 1
t2.data
from tabela t2
where t2.echipament = t1.echipament
and t2.pozitie is not null
order by t2.data desc) as ultima_data
,(select top 1
t2.pozitie
from tabela t2
where t2.echipament = t1.echipament
and t2.pozitie is not null
order by t2.data desc) as ultima_pozitie
from tabela t1
Re: Query cu val. curenta si ultima val. valida pe acelasi r
Multumesc mult pentru raspuns.
In mare cred ca am prins ideea, dar nu prea reusesc sa o pun in practica.
Dar inainte de toate vreau sa mai fac o precizare. Nu stiu daca asta va schimba cumva datele problemei, eu am vrut sa aflu principiul sperand ca apoi ma voi descurca singur.
Ma intereseaza sa pot genera un tabel pe o perioada in care sa-mi apara pe zile fiecare dintre echipamente (chiar si cele cu valoare invalida pentru pozitie), dar in dreptul lor sa apara si ultima pozitie valida (anterioara) si data acesteia.
Acum revenind la exemplul dat nu am inteles daca t1 si t2 sunt doua interogari create pe baza tabelului cu inregistrari, sau t1 este chiar tabelul meu si doar t2 este interogare?
Daca s-ar putea sa primesc cateva informatii in plus sau pasii de urmat ar fi super.
Oricum multumesc inca odata pentru raspuns.
In mare cred ca am prins ideea, dar nu prea reusesc sa o pun in practica.
Dar inainte de toate vreau sa mai fac o precizare. Nu stiu daca asta va schimba cumva datele problemei, eu am vrut sa aflu principiul sperand ca apoi ma voi descurca singur.
Ma intereseaza sa pot genera un tabel pe o perioada in care sa-mi apara pe zile fiecare dintre echipamente (chiar si cele cu valoare invalida pentru pozitie), dar in dreptul lor sa apara si ultima pozitie valida (anterioara) si data acesteia.
Acum revenind la exemplul dat nu am inteles daca t1 si t2 sunt doua interogari create pe baza tabelului cu inregistrari, sau t1 este chiar tabelul meu si doar t2 este interogare?
Daca s-ar putea sa primesc cateva informatii in plus sau pasii de urmat ar fi super.
Oricum multumesc inca odata pentru raspuns.
Re: Query cu val. curenta si ultima val. valida pe acelasi r
atita timp cit nu stim structura tabelelor din baza ta de date - putem doar ghici. rupe tabelele in care ai datele care te intereseaza, sterge ce e confidential in ele, si ataseaza un model pe care sa lucram..