hyghnet,
Query-ul scris de Diana ar trebui să furnizeze rezultatele corecte. Singura problemă este în datele de test: în primul rând ai scris 1/2006, iar în următoarele două ai scris 1/2007, dar cred că vroiai să scrii aceeaşi valoare. Încearcă, de exemplu, cu următoarele date de test:
CREATE TABLE Tabela (
nr_inreg varchar(7) NOT NULL,
data_inreg smalldatetime NOT NULL,
tip varchar(10) NULL,
PRIMARY KEY (nr_inreg, data_inreg)
)
INSERT INTO Tabela VALUES ('1/2007','20070501',NULL)
INSERT INTO Tabela VALUES ('1/2007','20070505','ACTIV')
INSERT INTO Tabela VALUES ('1/2007','20070507','ACTIV')
INSERT INTO Tabela VALUES ('2/2007','20070520','ACTIV')
INSERT INTO Tabela VALUES ('2/2007','20070603',NULL)
INSERT INTO Tabela VALUES ('2/2007','20070615','ACTIV')
INSERT INTO Tabela VALUES ('2/2007','20070621',NULL)
INSERT INTO Tabela VALUES ('3/2007','20070627',NULL)
INSERT INTO Tabela VALUES ('3/2007','20070704',NULL)
INSERT INTO Tabela VALUES ('4/2007','20070717',NULL)
INSERT INTO Tabela VALUES ('5/2007','20070725',NULL)
INSERT INTO Tabela VALUES ('5/2007','20070728',NULL)
INSERT INTO Tabela VALUES ('6/2007','20070805','ACTIV')
INSERT INTO Tabela VALUES ('6/2007','20070808',NULL)
SELECT a.* FROM Tabela a INNER JOIN (
SELECT nr_inreg, MAX(data_inreg) as ultima_data
FROM Tabela GROUP BY nr_inreg
) b ON a.nr_inreg=b.nr_inreg and a.data_inreg=b.ultima_data
WHERE data_inreg<'20070726' AND tip IS NULL
Răzvan