Bonjour,
J'ai dans ma table des champs qui concernce un même objet mais avec des dates différentes. En faites j'aimerais récupérer la ligne avec la date la plus proche. Je sais que y a déjà des questions comme celle-ci qui ont déjà été posées mais je n'ai pas réussi à faire ma requête avec les différentes réponses que j'ai vu.
En faite ma requête me renvoi toujours la même date avec cette requête:
Pour moi je pense que le rownum doit être fait aprés la ORDER BY, donc j'ai essayé avec une sous-requête comme ceci:Code:
1
2
3
4
5
6
7
8
9
10
11 SELECT mat.num_parc, type_interne_materiel, nom_marque, serie_materiel, statut_mouvement, prix_achat_materiel, statut_materiel, nom_client, date_debut_mouvement, date_fin_mouvement FROM Materiel mat INNER JOIN Marque mar ON mat.num_marque = mar.num_marque LEFT JOIN Mouvement mou ON mat.num_parc = mou.num_parc LEFT JOIN Client cli ON mou.num_client = cli.num_client WHERE serie_materiel = 354154 AND rownum <= 1 ORDER BY date_debut_mouvement DESC;
Mais la non plus ça ne fonctionna pas.Code:
1
2
3
4
5
6
7
8
9
10
11 SELECT mat.num_parc, type_interne_materiel, nom_marque, serie_materiel, statut_mouvement, prix_achat_materiel, statut_materiel, nom_client, date_debut_mouvement, date_fin_mouvement FROM Materiel mat INNER JOIN Marque mar ON mat.num_marque = mar.num_marque LEFT JOIN Mouvement mou ON mat.num_parc = mou.num_parc LEFT JOIN Client cli ON mou.num_client = cli.num_client WHERE serie_materiel = 354154 AND date_debut_mouvement = (SELECT date_debut_mouvement,rownum FROM mouvement WHERE num_parc = 3 AND rownum <= 1 ORDER BY date_debut_mouvement DESC) AND rownum <= 1;
J'ai même testé la requête :
mais là il ne me ressort rien du tout, alors que la ligne que je veux à bien le rownum 2.Code:SELECT date_debut_mouvement,rownum FROM mouvement WHERE num_parc = 3 rownum <= 2 ORDER BY date_debut_mouvement DESC
Auriez vous une idée du souci?
Par avance merci