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

SQL Anywhere Sybase Discussion :

[ASA] Problème sur requete


Sujet :

SQL Anywhere Sybase

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 401
    Points : 120
    Points
    120
    Par défaut [ASA] Problème sur requete
    Bonjour,

    J'ai une table assuré et une table emploi, sur la table emploi j'ai donc n lignes pour un assuré.
    Sur une liste rapide des assurés je souhaite afficher quelques informations comme la date maximum entre les emplois et le descriptif du dernier emploi, je fais donc cela :

    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   ASS.nom_assure,   
    				ASS.pre_assure,
    				CAN.profil_candidat,
    				EMP.description_emploi,
    				ASS.no_assure,
    				CAN.experience_candidat,
    				ASS.genre,
    				MAX (EMP.fin_emploi) as fin_emploi
     
    		 FROM ASSURE ASS LEFT OUTER JOIN CANDIDAT CAN
             ON ASS.no_assure  = CAN.no_assure_fk,
     
    				CANDIDAT CAN LEFT OUTER JOIN EMPLOI EMP
    			ON CAN.no_assure_fk = EMP.no_assure_fk
     
          WHERE ASS.is_candidat = 1
     
    		GROUP BY EMP.description_emploi,
                ASS.nom_assure,   
    				ASS.pre_assure,
    				CAN.profil_candidat,
    				ASS.no_assure,
    				CAN.experience_candidat,
    				ASS.genre;

    Le soucis c'est que cela me sort les n lignes de tous les emplois par assurés.

    Merci pour votre aide

  2. #2
    Membre confirmé Avatar de lper
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    398
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 398
    Points : 641
    Points
    641
    Par défaut
    Bonjour,
    c'est normal qu'il te sort tous les emplois différents puisque tu fais un group by dessus, étant sous oracle, je ne peux tester la requête suivante, le principe étant d'utiliser une requête imbriqué permettant de soutirer l'emploi :
    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
    25
    26
    27
    28
    29
    30
    SELECT   ASS.nom_assure,
                ASS.pre_assure,
                CAN.profil_candidat, 
                ASS.no_assure, 
                CAN.experience_candidat, 
                ASS.genre, 
                EMP2.max_emploi,
                EMP3.description_emploi
     
           FROM ASSURE ASS LEFT OUTER JOIN CANDIDAT CAN 
             ON ASS.no_assure  = CAN.no_assure_fk, 
     
                CANDIDAT CAN LEFT OUTER JOIN 
            (select  MAX (EMP.fin_emploi) as max_emploi
                from EMPLOI EMP
                group by EMP.no_assure_fk) EMP2
                ON CAN.no_assure_fk = EMP2.no_assure_fk,
                EMP2 LEFT OUTER JOIN EMPLOI EMP3
             ON EMP3.fin_emploi = EMP2.max_emploi
     
          WHERE ASS.is_candidat = 1 
     
          GROUP BY ASS.nom_assure,
                ASS.pre_assure,
                CAN.profil_candidat,
                ASS.no_assure,
                CAN.experience_candidat,
                ASS.genre,
                EMP2.max_emploi,
                EMP3.description_emploi

  3. #3
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 425
    Points : 358
    Points
    358
    Par défaut
    salut.

    est ce que le problème ne viendrait pas du LEFT OUTER JOIN?

    Et si tu utilisais INNER JOIN?

    A tout de suite

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 401
    Points : 120
    Points
    120
    Par défaut
    Merci pour votre aide :
    lper je connais aussi Oracle, sur ASA c'est assez différent, il me dit dans la requete que tu m'as donné qu'il ne connait pas la Table EMP2.

    annedjomo : pq utiliser un inner join ??

  5. #5
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 425
    Points : 358
    Points
    358
    Par défaut
    Citation Envoyé par shadeoner
    annedjomo : pq utiliser un inner join ??
    Je pense que dans ce cas il ne te ramènera pas toutes les lignes.
    Je veux dire les enregistrements correspondant à la jointure.

    A++

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 401
    Points : 120
    Points
    120
    Par défaut
    Citation Envoyé par annedjomo
    Citation Envoyé par shadeoner
    annedjomo : pq utiliser un inner join ??
    Je pense que dans ce cas il ne te ramènera pas toutes les lignes.
    Je veux dire les enregistrements correspondant à la jointure.

    A++
    En fait j'ai oublié de préciser que la table emploi peut être null pour un candidat, et je veux quand même avoir le candidat de ramener.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 401
    Points : 120
    Points
    120
    Par défaut
    J'ai vu une section plus appropriée je poste là bas merci

  8. #8
    Membre confirmé Avatar de lper
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    398
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 398
    Points : 641
    Points
    641
    Par défaut
    Il manque peut-être le 'AS' avant EMP2 ?

  9. #9
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 224
    Points : 19 566
    Points
    19 566
    Billets dans le blog
    25
    Par défaut
    Citation Envoyé par lper
    Il manque peut-être le 'AS' avant EMP2 ?
    Non, les 2 syntaxes sont similaires sous ASA

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 401
    Points : 120
    Points
    120
    Par défaut
    Citation Envoyé par fadace
    Citation Envoyé par lper
    Il manque peut-être le 'AS' avant EMP2 ?
    Non, les 2 syntaxes sont similaires sous ASA
    Fadas tu peux cloturer ici
    J'ai posté sur la partie "autre SGBD", peux tu m'aider sur l'autre thread d'ailleurs ?

    Merci

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

Discussions similaires

  1. [WD16] Problème sur requete (doublon)
    Par buzz68180 dans le forum WinDev
    Réponses: 3
    Dernier message: 23/02/2012, 09h36
  2. Problème sur requete outer join
    Par lindounette dans le forum Développement
    Réponses: 3
    Dernier message: 22/08/2011, 15h49
  3. Problème sur requete SQLite
    Par JCMANSION dans le forum Android
    Réponses: 2
    Dernier message: 06/12/2010, 07h32
  4. problème sur requete insert
    Par shadowmoon dans le forum Langage SQL
    Réponses: 2
    Dernier message: 09/06/2005, 11h46
  5. [ASA] Problème sur requete ASA
    Par shadeoner dans le forum SQL Anywhere
    Réponses: 6
    Dernier message: 06/04/2005, 14h35

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