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 :

Retourner 0 dans un Count quand pas d'enregistrement trouvés sur un critère


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Femme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 88
    Points : 60
    Points
    60
    Par défaut Retourner 0 dans un Count quand pas d'enregistrement trouvés sur un critère
    Bonjour,

    Je sèche de nouveau sur un souci dans une requète...
    J'essaie de créer des indicateurs de performances, basés sur des dates.
    Je souhaite savoir combien d'enregistrements sont "expirés" (date plus ancienne que la date du jour + 7).
    J'ai créé la requète suivante, il y a tout un tas de coditions afin de compter des enregistrements bien particuliers :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Count(COMPANY.CodeCompany) AS CountOfCodeCompany
    FROM (REF_TEST_STATUS_GLOBAL INNER JOIN REF_TEST_STATUS ON REF_TEST_STATUS_GLOBAL.CodeTestStatusGlobal = REF_TEST_STATUS.TestStatusGlobal) INNER JOIN ((REF_QUALIF_STATUS_GLOBAL INNER JOIN REF_QUALIF_STATUS ON REF_QUALIF_STATUS_GLOBAL.CodeQualifStatusGlobal = REF_QUALIF_STATUS.QualifSatusGlobal) INNER JOIN (REF_INDEPCAPTIVE INNER JOIN (REF_DATE_YEAR RIGHT JOIN ((REF_DATE_MONTH RIGHT JOIN COMPANY ON REF_DATE_MONTH.CodeMonth = COMPANY.CompanyQualifExpDateMonth) INNER JOIN ((REF_TEST RIGHT JOIN COMPANY_TEST ON REF_TEST.CodeTest = COMPANY_TEST.CompanyTestLabel) INNER JOIN R_ATTESTATION_TEST_ATP_EXPIRATION_DATE ON COMPANY_TEST.CodeCompanyTest = R_ATTESTATION_TEST_ATP_EXPIRATION_DATE.CodeCompanyTest) ON COMPANY.CodeCompany = COMPANY_TEST.CodeCompany) ON REF_DATE_YEAR.CodeYear = COMPANY.CompanyQualifExpDateYear) ON REF_INDEPCAPTIVE.CodeIndepCaptive = COMPANY.CompanyIndepCaptive) ON REF_QUALIF_STATUS.CodeQualifStatus = COMPANY.CompanyQualifStatus) ON REF_TEST_STATUS.CodeTestStatus = COMPANY_TEST.CompanyTestStatus
    WHERE (((DateSerial([YearList],[CodeMonth],[MonthListDays]))<Now()+7) AND ((REF_INDEPCAPTIVE.IndepCaptiveType)=1 Or (REF_INDEPCAPTIVE.IndepCaptiveType)=2) AND ((REF_QUALIF_STATUS_GLOBAL.CodeQualifStatusGlobal)=5) AND ((COMPANY_TEST.CompanyTestIntExt)=False) AND ((REF_TEST.TestShow)=True) AND ((REF_TEST_STATUS_GLOBAL.CodeTestStatusGlobal)=3 Or (REF_TEST_STATUS_GLOBAL.CodeTestStatusGlobal)=7) AND ((REF_INDEPCAPTIVE.IndepCaptivePublished)=True));
    Mon problème : quand j'ai effectivement des enregistrements expirés, pas de souci, ça me retourne le chiffre que je cherche.
    Par contre, quand je n'ai pas d'enregistrement expiré, ça bugge (ça me demande une valeur pour les champs qui constitue ma date).... alors que je voudrais que ça me retourne un Compte à 0...

    Désolée, je sais que la requète est compliqué de part le nombre de critères...

    Est-ce que quelqu'un aurait une solution pour retourner ce 0 ?

    D'avance merci...

  2. #2
    Modérateur
    Avatar de bertiny
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2013
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 282
    Points : 1 831
    Points
    1 831
    Billets dans le blog
    1
    Par défaut
    Bonjour
    À ma place je le ferai en deux étapes. Une première requête qui sélectionne les enregistrements selon mes critères. Une autre qui compte les enregistrements issus de la première requête.
    Le monde évolue et nous avec. La technologie change les idées de ceux qui s'intéressent et pensent qu'il est nécessaire de changer.
    Oh là!! Que c'est bien de trouver la solution à un problème

    Pensons à améliorer nos connaissances en toute humilité car on apprend tous tous les jours !!!

  3. #3
    Membre du Club
    Femme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 88
    Points : 60
    Points
    60
    Par défaut
    OK, merci, je vais essayer comme ça...
    Je vous tiens au courant !

Discussions similaires

  1. Réponses: 0
    Dernier message: 03/03/2014, 23h31
  2. Réponses: 2
    Dernier message: 30/11/2009, 11h05
  3. [MySQL] Problème mysql_result quand pas d'enregistrement
    Par sandddy dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 08/11/2007, 11h09
  4. pas d'enregistrements trouvés
    Par mpat dans le forum ASP
    Réponses: 6
    Dernier message: 10/02/2005, 09h00

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