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 Firebird Discussion :

Voir si un groupe a uniquement du positif


Sujet :

SQL Firebird

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2010
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 36
    Par défaut Voir si un groupe a uniquement du positif
    Bonjour,

    Je ne suis surement pas claire dans mon titre, j'espere l'etre un peu plus dans mon explication
    J'ai des dates, et des groupes, type:

    Projet| produit | date reelle | date plannifiee
    1 | 345A | 2010-09-12 | 2010-09-20
    1 | 326C | 2010-10-13 | 2010-09-20
    1 | 345R | 2010-09-4 | 2010-09-20
    2 | 432C | 2010-08-6 | 2010-08-10
    2 | 321D | 2010-08-10 |2010-08-10

    Je voudrias regarder la difference entre date plannifiee et la date reelle, si un seul des produits est en retard je veux que le groupe soit marque...
    Peut etre que en SQL ce sera plus clair...Voila ce que j'ai essaye:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $sql= "SELECT SUM(Late) As NotAccepted, MAX(Month) As InMonth, Project, MAX(Year) As InYear FROM
    (SELECT PROJECT As Project,
                  'Late'= CASE WHEN DATEDIFF(day,DATEREELLE,CAST((DATEPLANNIFIEE) As datetime))<'0' THEN 1 ELSE 0 END,
                  DATEPART(m, ".$condition.") As Month,
                  DATEPART(yyyy, ".$condition.") As Year
     FROM table1
     WHERE ".$condition." > '".$DateChoosen."' )
    GROUP BY Projet" ;
    Ca bloque sur le GROUP BY
    Mais peut etre qu'il y a une methode plus simple @.@
    Help...

    Celine

    PS: Si j'ai loupe une autre discussion qui avait le meme sujet, veuillez m'en excuser

  2. #2
    Membre Expert
    Avatar de Barbibulle
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 052
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 052
    Par défaut
    Bonjour,

    Vous voulez quoi comme résultat ?

    A/La liste des projets qui contient au moins un produit en retard ?

    Projet| Nbr Produit retard
    1 | 1

    B/La liste des projets avec le nombre de produit est en retard (0 si aucun) ?

    Projet| Nbr Produit retard
    1 | 1
    2 | 0

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select t.projet, sum(case when t.datereelle> t.dateplannifiee then 1 else 0 end) nbr_produit_retard
    from produits t
    group by t.projet

    Et sur quel version de fb vous travaillez ?

  3. #3
    Membre averti
    Inscrit en
    Mai 2010
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 36
    Par défaut
    ...
    ....
    .....
    ....
    .....

    Merciiiiiii! Je ne savais pas qu'on pouvait faire un SUM directement avec un CASE a l'interieur! Et je n'avais pas penser a comparer aussi simplement je reutilisais une formule d'une autre requete...
    erf! Tete en l'air que je suis!

    Deja je n'ai plus de message d'erreur, maintenant je vais verifier les resultats.
    Merci beaucoup.

    Celine

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

Discussions similaires

  1. Voir du texte dans un unique OptionPane
    Par new_wave dans le forum Interfaces Graphiques en Java
    Réponses: 0
    Dernier message: 15/12/2008, 14h46
  2. Réponses: 2
    Dernier message: 17/04/2007, 12h37
  3. Réponses: 1
    Dernier message: 07/01/2007, 11h06
  4. [CR] Faire un groupe sur deux colonnes, voir mon exemple
    Par Etienne51 dans le forum SAP Crystal Reports
    Réponses: 6
    Dernier message: 08/10/2004, 15h02

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