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

Langage SQL Discussion :

Problème de jointure et de count


Sujet :

Langage SQL

  1. #41
    Expert éminent sénior
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 801
    Points : 34 063
    Points
    34 063
    Billets dans le blog
    14
    Par défaut
    Est-ce que le but de la requête est de sortir le résultat brut ou est-ce destiné à être exploité par un logiciel qui va présenter les résultats (en php par exemple) ?
    Parce que si c'est le second cas, il suffit d'exécuter séparément les deux morceaux de requête qui donnent chacun un résultat correct et de jouer avec le code du logiciel de présentation.

  2. #42
    Membre habitué
    Inscrit en
    Juin 2009
    Messages
    346
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 346
    Points : 163
    Points
    163
    Par défaut
    Re, l'union ne fonctionne pas non plus (il ne calcule même pas en fait, il ne réfléchi pas, il ne se passe juste rien) :

    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
    SELECT NUMERO_SIRET_CABINET, COUNT(*) AS NOMBRE_DOSSIERS
      FROM DOSSIERS.FIC
    WHERE ((DATE_RAPPORT_1A>='20090608' AND DATE_RAPPORT_1A<='20090614') OR (DATE_RAPPORT_1A='' AND DATE_RAPPORT_1B>='20090608' AND DATE_RAPPORT_1B<='20090614'))
      GROUP BY NUMERO_SIRET_CABINET
     
    UNION ALL
     
    SELECT f1.NUMERO_SIRET_CABINET,COUNT(DISTINCT f1.ID_DOSSIER) AS NBVGE 
        FROM DOSSIERS.FIC AS f1
        LEFT OUTER JOIN DANGEROSITE_DOSSIER.FIC AS f2 ON f1.ID_DOSSIER = f2.ID_DOSSIER 
        WHERE (CODE_DANGEROSITE IN('CA3', 'LS3', 'DI3', 'SP4') AND DEFICIENCE_IMPUTABLE='1')
        AND CODE_GENRE IN('TAGE03', 'TAGE16', 'TAGE30')
        AND CODE_NATURE_EVENEMENT IN('TANE11', 'TANE12')
        AND ((DATE_RAPPORT_1A>='20090608' AND DATE_RAPPORT_1A<='20090614' AND DANGEROSITE_1A='1') OR (DATE_RAPPORT_1A='' AND DATE_RAPPORT_1B>='20090608' AND DATE_RAPPORT_1B<='20090614' AND DANGEROSITE_1B='1'))
      AND REPARABILITE_ECONOMIQUE = '1'
        GROUP BY f1.NUMERO_SIRET_CABINET
    Sinon non ce n'est pas pour faire du PHP, je peux même retrouver le résultat que je veux en faisant de la jointure sous excel après avoir fait les 2 morceaux de requête séparées. Cela dit c'est assez long et pas pratique du tout. La finalité de l'obtention de mes 3 colonnes sera de classer les NUMERO_SIRET_CABINET suivant leur ratio (NBVGE/NOMBRE_DOSSIERS) pour éliminer de mes stats les + gros et + faibles ratios.. j'ai donc besoin que ma requête fonctionne car s'il faut repasser par excel à chaque fois cela risque d'être très long... surtout que la réussite de cette jointure n'est que le point de départ de tout le travail que j'ai à faire par la suite...

    Eric.

Discussions similaires

  1. Problème de jointure de tables
    Par AurelBUD dans le forum Langage SQL
    Réponses: 6
    Dernier message: 20/04/2005, 17h27
  2. Probléme de jointure
    Par Ajrarn dans le forum Langage SQL
    Réponses: 14
    Dernier message: 24/02/2005, 15h57
  3. Vraisemblable problème de jointure
    Par pimousse76 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 23/02/2005, 16h34
  4. [MS Access] Problème de jointure
    Par Erakis dans le forum Langage SQL
    Réponses: 3
    Dernier message: 07/02/2005, 22h15
  5. Problème de jointure ?!
    Par ebaynaud dans le forum Langage SQL
    Réponses: 8
    Dernier message: 03/11/2004, 12h27

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