Aide sur requete Update

Résolu
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 ?

5 réponses

  • Votes
  • Date
  • Date décroissante
  1. 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 ?
    1. 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é...
      1. 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