Order by dans une sous requête
Bonjour à tous,
j'essaie de traduire une requête fonctionnant en SQLServer en Oracle et j'ai en retour d'erreur :
Citation:
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:
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:
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