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 :

Group by sur Produit mais avec date qui se suivent


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 17
    Points : 16
    Points
    16
    Par défaut Group by sur Produit mais avec date qui se suivent
    Bonjour,
    je cherche à faire un 'group by' des produit mais je souhaite que ce 'group by' se fasse seulement quand il y a une date, si il n'y a pas de date je souhaite deux ligne différente du même produit.

    Merci

  2. #2
    Membre du Club Avatar de moins52
    Inscrit en
    Août 2003
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 63
    Points : 67
    Points
    67
    Par défaut
    Avec un union ça le fait pas ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT * FROM MesTables WHERE date is not null GROUP BY produit
    UNION
    SELECT * FROM MesTables WHERE date is null

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 17
    Points : 16
    Points
    16
    Par défaut Non l'union ne fait pas la force
    Mes produits n'apparaissent pas du tout dans la table quand il n'y en a pas a une date donnée donc Null or Not Null ne marche pas!!!

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 105
    Points : 28 397
    Points
    28 397
    Par défaut
    Pour pouvoir vous donner une réponse correspondant à votre problème, il nous faudrait connaître la structure des tables en jeu ainsi qu'une ébauche de la requête que vous tentez d'effectuer. Un exemple serait plus parlant.
    En précisant le SGBD que vous utilisez et sa version, les réponses proposées seront adaptées aux spécificités et limitations de celui-ci.
    Règles du forum Langage SQL à lire par tous.

  5. #5
    Membre du Club Avatar de moins52
    Inscrit en
    Août 2003
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 63
    Points : 67
    Points
    67
    Par défaut
    Donne moi ta requete ça sera plus simple pour raisonner

  6. #6
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 17
    Points : 16
    Points
    16
    Par défaut
    req : select produit, min(date) , max(date) , sum(Quantité) from Schedule where Quantité > 0 group by produit order by 1

    structure de la table :
    produit(number), quantité(number, date(date)

    La table représente la quantité de se qui est produit par jour.

    Or je souhaite le grouper les produits mais entre date et date de production

  7. #7
    Membre du Club Avatar de moins52
    Inscrit en
    Août 2003
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 63
    Points : 67
    Points
    67
    Par défaut
    Alors je ferais comme ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select produit, min(date) , max(date) , sum(Quantité) from Schedule where Quantité > 0 AND date IS NOT NULL group by produit order by 1
    UNION
    select produit, null, null , Quantité from Schedule where Quantité > 0 AND date IS NULL order by 1

  8. #8
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 66
    Points : 60
    Points
    60
    Par défaut
    je dit peut être une bétise mais une jointure externe ne pourrait pas aider à l'avancement de la chose ???

  9. #9
    Membre du Club Avatar de moins52
    Inscrit en
    Août 2003
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 63
    Points : 67
    Points
    67
    Par défaut
    Le problème pour la jointure externe c'est cette histoire de GROUP BY.

    Je ne vois pas comment "dégrouper" sans UNION.

  10. #10
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 66
    Points : 60
    Points
    60
    Par défaut
    et un GROUP BY avec un HAVING et faire une requete imbriqué a la place du UNION ? Non ?

Discussions similaires

  1. Je recherche de l'aide sur une requête avec dates
    Par Alain CARDINI dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 22/05/2008, 22h11
  2. GROUP BY sur x tables avec UNION
    Par fred23195 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 04/04/2008, 18h08
  3. Réponses: 1
    Dernier message: 28/01/2008, 12h21
  4. Tables avec dates qui se chevauchent
    Par Bidule_en perdition dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 25/10/2007, 18h15
  5. aide sur une formule avec date
    Par rudasalska dans le forum Excel
    Réponses: 2
    Dernier message: 27/05/2007, 12h17

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