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 :

Requête SQL qui a l'air simple mais qui est musclée !


Sujet :

Langage SQL

  1. #1
    Membre actif
    Inscrit en
    Mars 2007
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 218
    Points : 216
    Points
    216
    Par défaut Requête SQL qui a l'air simple mais qui est musclée !
    Bonjour,

    Je dispose d'une table INCIDENTS, avec comme champs : incident_id, date (jj/mm/aaaa), version_produit.

    Je voudrais obtenir, grâce à une requête SQL :
    -> le nombre d'incident par jour pour chaque version_produit.

    Le résultat de ma requête doit donc avoir autant de colonnes qu'il y a de versions de produit différentes + 1 (pour la date).
    Ex : si j'ai 3 version de produits, j'aurai 4 colonnes :
    - date incident
    - nb incident pour la version 1
    - nb incident pour la version 2
    - nb incident pour la version 3

    D'avance merci pour vos idées !

    Bonne journée

    PS : SGBD => SQL Server 2k5
    N'oubliez pas le tag [Résolu] quand nécessaire !

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    500
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 500
    Points : 639
    Points
    639
    Par défaut
    Si tu ne veux avoir qu'une ligne par date, c'est de la mise en forme qui n'est pas du ressort de SQL, et qui est aléatoire car d'une date à l'autre le nombre de colonnes va varier en fonction du nombre de versions...

    Sinon, la requête SQL classique est très simple, mais te fournit une ligne par date et par version :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT date, version_produit, COUNT(*)
    FROM incidents
    GROUP BY date, version_produit
    Des chercheurs qui cherchent, on en trouve, mais des chercheurs qui trouvent, on en cherche !

  3. #3
    Membre actif
    Inscrit en
    Mars 2007
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 218
    Points : 216
    Points
    216
    Par défaut
    Merci pour ta réponse rapide Mais en effet, je voudrais un nombre de colonnes dépendant du nombre de versions qu'il y a, et je pensais à une requête récursive pour cela...
    N'oubliez pas le tag [Résolu] quand nécessaire !

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    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 080
    Points : 30 804
    Points
    30 804
    Par défaut
    Une requête SQL, qu'elle soit récursive ou non,retourne un nombre de colonne fixe
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  5. #5
    Membre actif
    Inscrit en
    Mars 2007
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 218
    Points : 216
    Points
    216
    Par défaut
    Très bien... Merci pour l'info ! Je fais autrement alors : je crée des vues et je fais des full join sur ces vues... Mais je suis obligé de prévoir le nombres de colonnes voulu. Pas tip top mais ça marche ^^
    N'oubliez pas le tag [Résolu] quand nécessaire !

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    500
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 500
    Points : 639
    Points
    639
    Par défaut
    Jusqu'au jour où tu tombes sur une date qui a plus de versions que le nombre max de vues que tu as prévu...
    Des chercheurs qui cherchent, on en trouve, mais des chercheurs qui trouvent, on en cherche !

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

Discussions similaires

  1. Requête simple mais qui ne marche pas
    Par larbiDida dans le forum Requêtes
    Réponses: 4
    Dernier message: 31/03/2011, 16h56
  2. Réponses: 6
    Dernier message: 13/07/2010, 10h18
  3. Réponses: 4
    Dernier message: 10/05/2010, 14h50
  4. [MySQL] Requête qui ne s'exécute pas MAIS qui renvoie true pour mysql_query()
    Par francis13 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 01/05/2007, 03h31
  5. Réponses: 2
    Dernier message: 04/03/2006, 10h47

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