1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
CREATE TABLE ALACON
(CD_ARTICLE CHAR(4),
DATE_TRANSAC DATETIME,
PRIX FLOAT)
INSERT INTO ALACON VALUES ('A100', '20070221', 10)
INSERT INTO ALACON VALUES ('A100', '20070301', 12)
INSERT INTO ALACON VALUES ('A100', '20070315', 11)
INSERT INTO ALACON VALUES ('A100', '20070320', 12)
SELECT T1.CD_ARTICLE, T1.DATE_TRANSAC AS DATE_DEBUT, MIN(T2.DATE_TRANSAC) AS DATE_FIN, T1.PRIX
FROM ALACON T1
LEFT OUTER JOIN ALACON T2
ON T1.CD_ARTICLE = T2.CD_ARTICLE
AND T1.DATE_TRANSAC < T2.DATE_TRANSAC
GROUP BY T1.CD_ARTICLE, T1.DATE_TRANSAC, T1.PRIX
CD_ARTICLE DATE_DEBUT DATE_FIN PRIX
---------- ---------------- ---------------------------- ----------------
A100 2007-02-21 2007-03-01 00:00:00.000 10.0
A100 2007-03-01 2007-03-15 00:00:00.000 12.0
A100 2007-03-15 2007-03-20 00:00:00.000 11.0
A100 2007-03-20 NULL 12.0 |
Partager