Aide sur requete Update

Résolu/Fermé
Profil bloqué - 10 juin 2010 à 15:04
Breub62 Messages postés 2989 Date d'inscription lundi 7 juin 2010 Statut Membre Dernière intervention 17 avril 2014 - 10 juin 2010 à 15:42
Bonjour,

J'ai une requête SQL qui est celle-ci :

SELECT DISTINCT 
  T_Reservation.IDT_Piece AS IDT_Piece,  
  T_Reservation.IDT_Occupant AS IDT_Occupant,  
  T_Occupant.Intitule_Occ AS Intitule_Occ,  
  T_Pieces.IDT_Piece AS IDT_Piece_T_,  
  T_Pieces.Numero_Zone AS Numero_Zone,  
  T_Pieces.Numero_Chambre AS Numero_Chambre,  
  T_Reservation.Date_Deb_Loc AS Date_Deb_Loc,  
  T_Reservation.Date_Fin_Loc AS Date_Fin_Loc
FROM 
  T_Occupant,  
  T_Reservation,  
  T_Pieces
WHERE 
    T_Reservation.IDT_Occupant  =  T_Occupant.IDT_Occupant
  AND  T_Reservation.IDT_Piece  =  T_Pieces.IDT_Piece


Pour info, je travaille sous Windev.

Mon problème est que je veux récupérer les résultats en fonction de : IDT_Piece, IDT_Occupant.

Le problème ce pose lorsque du fait que Date_Deb_Loc et Date_Fin_Loc peuvent être différentes.

Exemple:
ID piece id occupant date deb loc date fin loc
15 1510 01/02/2010 03/05/2010
15 1510 12/08/2010 25/10/2010
12 1510 14/02/2010 28/02/2010

Il faudrait que je récupère seulement 2 enregistrements :
15 1510
12 1510

En gros, pour ma requête, je m'en fou de la date mais il faut que je la récupère pour pouvoir l'afficher. Du coup le DISTINCT ne convient pas.

Comment faire svp ?

A voir également:

5 réponses

Breub62 Messages postés 2989 Date d'inscription lundi 7 juin 2010 Statut Membre Dernière intervention 17 avril 2014 369
10 juin 2010 à 15:06
Et en faisant un group by IDT_Piece, IDT_Occupant?
0
Profil bloqué
10 juin 2010 à 15:10
J'y avais pensé :

SELECT DISTINCT 
  T_Reservation.IDT_Piece AS IDT_Piece,  
  T_Reservation.IDT_Occupant AS IDT_Occupant,  
  T_Occupant.Intitule_Occ AS Intitule_Occ,  
  T_Pieces.IDT_Piece AS IDT_Piece_T_,  
  T_Pieces.Numero_Zone AS Numero_Zone,  
  T_Pieces.Numero_Chambre AS Numero_Chambre,  
  T_Reservation.Date_Deb_Loc AS Date_Deb_Loc,  
  T_Reservation.Date_Fin_Loc AS Date_Fin_Loc
FROM 
  T_Occupant,  
  T_Reservation,  
  T_Pieces
WHERE 
    T_Reservation.IDT_Occupant  =  T_Occupant.IDT_Occupant
  AND  T_Reservation.IDT_Piece  =  T_Pieces.IDT_Piece

ORDER BY 
  IDT_Piece ASC,  
  IDT_Occupant ASC


Mais sa me sort 3 résultats (au lieu de 2) .. vois tu une autre solution ?
0
Breub62 Messages postés 2989 Date d'inscription lundi 7 juin 2010 Statut Membre Dernière intervention 17 avril 2014 369
10 juin 2010 à 15:16
Oui forcément... Le plus simple c'est de faire une requête complète à comme résultat 3 enregistrements où tu traite les dates ET d'autre part une requète où tu fais ton tri(avec 2 enregistrement).

Je pense qu'il n'y a pas trop le choix. C'est plus chiant mais pas compliqué...
0
Profil bloqué
10 juin 2010 à 15:38
En faite tu avais raison mais je me suis trompé.

j'avais mis un order by au lieu du group By.

merci pour ton aide
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Breub62 Messages postés 2989 Date d'inscription lundi 7 juin 2010 Statut Membre Dernière intervention 17 avril 2014 369
10 juin 2010 à 15:42
Ok de rien
0