Envoyé par
Bujuman
Je suis sous Sql Server
Le mieux, c'est de préciser systématiquement
Un code tel que
WHERE (DatePrise, Heure) = ...
est réservé à Oracle (cf lien ci-dessus).
Par contre, la dernière solution de PlaineR devrait te convenir, non ?
Voici mon jeu d'essais (testé sous Oracle :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| CREATE TABLE Evenement (
DatePrise VARCHAR2 (10),
Heure VARCHAR2 (8));
INSERT INTO Evenement (DatePrise, Heure) VALUES ('2005/12/01', '01:00:00');
INSERT INTO Evenement (DatePrise, Heure) VALUES ('2005/12/01', '23:00:00');
INSERT INTO Evenement (DatePrise, Heure) VALUES ('2005/11/30', '04:00:00');
INSERT INTO Evenement (DatePrise, Heure) VALUES ('2005/11/30', '23:30:00');
COMMIT;
SELECT *
FROM Evenement A
WHERE DatePrise = (SELECT Max(DatePrise)
FROM Evenement)
AND Heure = (SELECT Max(Heure)
FROM Evenement
WHERE DatePrise = A.DatePrise);
DATEPRISE HEURE
---------- --------
2005/12/01 23:00:00 |
Pour me simplifier la vie, j'ai bien entendu gérer dates et heures dans des varChar2, en plaçant les valeurs les plus significatives en début de chaînes (année, puis mois, puis jour). Peut-être te sera t'il nécessaire d'adapter en fonction du type de tes champs et de la manière dont tu gères les données ?
Partager