IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes et SQL. Discussion :

Requête avec des doublons


Sujet :

Requêtes et SQL.

  1. #1
    Futur Membre du Club
    Femme Profil pro
    administrateur fonctionnel
    Inscrit en
    Mars 2020
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : administrateur fonctionnel

    Informations forums :
    Inscription : Mars 2020
    Messages : 9
    Points : 5
    Points
    5
    Par défaut Requête avec des doublons
    Bonjour à tous,

    Je suis assez novice en requête et j'essaye de m'améliorer mais je galère encore pas mal. Je me permets de vous écrire car je bloque depuis ce matin et je désespère.
    Voilà je fais une requête ou j'ai une liste de personnes qui ont une chambre associée dans la table histolit. La personne a pu avoir plusieurs lit au cours d'une même période. Du coup je voudrais n'avoir que le lit le plus récent.
    Dans la table histolit il y a un numéro unique pour chaque enregistrement. Plus le numéro est grand plus c'est récent. Je me suis donc dit que j'allais récupérer le numéro le plus élevé pour récupérer le lit le plus récent à coup sûre en faisant un lien avec le numéro de dossier associé dans la table histolit et dans la table dossier où j'ai la liste des personnes.
    Mais je ne sais pas pourquoi ça ne marche pas j'ai une liste à rallonge d'une même personne avec les différents lit où il a été. Je ne sais pas si je suis claire...

    Si quelqu'un a un piste merci beaucoup et bonne journée.

    Le bout de code en question :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    and hh.n_unique in(select max(hh.n_unique) 
    from histolit hh
    where d.ndossier = hh.ndossier)
    La requête entière :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    SELECT to_char(pr.d_rdv,'DD/MM/YYYY') daterdv, p.nom_pat, p.pre_pat, decode(sexe, 1, 'M', 2, 'F', '-')
    ,d.ndossier, dl.chambre, pr.motif, dp.nom_praticien
    from pra_rdv_r pr, dossier d, patient p, dpraticien dp , medsuiv m, histolit hh, dlit dl
    where pr.c_prat='SOR16'
    and pr.npatient is not null
    and pr.npatient in (select npatient from dossier where id_cli=:FINESS)
    and nvl(pr.etat_rdv,'RDV')<>'A'
    and pr.d_rdv>= #D(de)
    and trunc(d.date_entree)<=#D(jusquà)
    and pr.d_rdv>d.date_entree
    and d.ndossier<200000000
    and d.npatient=pr.npatient
    and p.npatient=pr.npatient
    and trunc(pr.d_rdv) <= #D(jusquà)
    and dp.c_prat=m.c_prat   
    and m.npatient=pr.npatient
    and hh.npatient=d.npatient
    and hh.n_hospi=d.ndossier
    and hh.num_lit IS NOT NULL  
    and hh.n_unique in(select max(hh.n_unique) 
    from histolit hh
    where d.ndossier = hh.ndossier)
    and dl.num_lit(+) = hh.num_lit
    and dl.c_serv(+) = hh.c_serv

  2. #2
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 949
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 949
    Points : 4 876
    Points
    4 876
    Par défaut
    Bonjour,
    Au vu de ce que tu as commencé (des produits cartésiens de tables et non des relations), le + simple est sans doute de faire en 2 requete :
    tu as obtenu pour un patient tous les lits occupés avec le 'numéro unique'
    fais une deuxième requête sur cette requete pour extraire la ligne de + grand 'numéro unique'

    cordialement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Doublons dans une requête avec des UNION
    Par cloclo23 dans le forum Langage SQL
    Réponses: 8
    Dernier message: 12/05/2012, 14h36
  2. [AC-2007] requête avec des doublons
    Par Prisss dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 18/06/2010, 15h24
  3. Requête avec des tables de plusieurs bases
    Par Oluha dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 11/04/2005, 17h56
  4. [DTS] Import de données avec des doublons
    Par Hotchotte dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 24/03/2005, 15h19
  5. [ADO/Access] Appel d’une requête avec des paramètres
    Par Taxenna dans le forum Bases de données
    Réponses: 1
    Dernier message: 07/12/2004, 15h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo