Bonjour à tous,
j'essaie de traduire une requête fonctionnant en SQLServer en Oracle et j'ai en retour d'erreur :
ORA-00907: parenthèse de droite absente
cette erreur est liée à l'order by dans la sous requête, mais le problème c'est que j'en ai besoin...
ci - dessous la requête en oracle :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
SELECT DISTINCT S.noChauffeur, S.dateHeureDebut, S.dateHeureFin, S.activite, S.noSact2, 
S.noTypeSact2, S.positionChauffeur, S.kmParcourus, GPS.longitude, GPS.latitude, 
(SELECT C.kmCompteur 
FROM CHRONOLOGIE C 
WHERE C.noVehicule=7 AND C.dateheuredebut>=S.dateheureDebut AND C.dateheuredebut<='20080521 213800' 
AND ROWNUM=1 ORDER BY C.dateheuredebut) as kmCompteur 
FROM SACT2 S 
LEFT JOIN GPS_SACT2 G on G.noSact2 = S.noSact2 
LEFT JOIN GPS on GPS.noGPS = G.noGPS 
WHERE S.noVehicule=7 
AND S.dateHeureDebut BETWEEN '20080521 000000' AND '20080521 213800' 
AND S.dateHeureDebut = G.dateHeureGPS 
AND G.noGPSSact2=(select min(noGPSSact2) from GPS_SACT2 where noSact2 = S.noSact2) 
ORDER BY S.dateHeureDebut
et ici la requête en SQLServer qui fonctionne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
SELECT DISTINCT S.noChauffeur, S.dateHeureDebut, S.dateHeureFin, S.activite, S.noSact2, 
S.noTypeSact2, S.positionChauffeur, S.kmParcourus, GPS.longitude, GPS.latitude, 
(SELECT TOP 1 C.kmCompteur 
FROM CHRONOLOGIE C
WHERE C.noVehicule=514 AND C.dateheuredebut>=S.dateheureDebut AND C.dateheuredebut<='20080403 213800' 
ORDER BY C.dateheuredebut) as kmCompteur 
FROM SACT2 S 
LEFT JOIN GPS_SACT2 G on G.noSact2 = S.noSact2 
LEFT JOIN GPS on GPS.noGPS = G.noGPS 
WHERE S.noVehicule=514 
AND S.dateHeureDebut BETWEEN '20080403 000000' AND '20080403 213800' 
AND S.dateHeureDebut = G.dateHeureGPS 
AND G.noGPSSact2=(select min(noGPSSact2) from GPS_SACT2 where noSact2 = S.noSact2) 
ORDER BY S.dateHeureDebut
quelqu'un aurait - il une suggestion ou idée ?

Merci par avance,
Christophe