Pour une rquete SQL

amine -  
 cvitedit -
salut !
bon, j'ai un problemme une requete SQL dont elle je n'ai pas trouver la solution je vais vous faire comprendre mon problemme
j'ai une relation composer de:
intervention(code, nbr_interv,date_interv,nature_interv)
et je veux grouper la somme de nbr_intrv par mois
j'ai essayer select sum(nbr_interv), extract (month from date_interv) from intervention.db group by extract (month from date_interv)
en faite je travail sur delphi 5 et cette instruction je lui ecris dans un query (composant de delphi).
je compte beaucoup sur vous alors SVP aider moi
merci.

4 réponses

  1. teebo Messages postés 33585 Date d'inscription   Statut Contributeur Dernière intervention   1 797
     
    A tou zazar:
    SELECT SUM(nbr_interv), month as month(date_interv) FROM ...GROUP BY month;

    Si ca marche pas, ca aura au moins eu l'interet de remettre ton post en haut de l'affiche ;-)

    ö,ö
    \_/
    0
  2. amine
     
    resalut!
    c'est toujour moi et je vous aporte une movaise nouvel la requete que vous m'avais donné ne marche pas c'est tjr le meme problemme vous n'aurez pas une autre astuce
    en faite merci pour votre aide s'prouve que vous ete interecer
    j'attend, merci.
    0
  3. teebo Messages postés 33585 Date d'inscription   Statut Contributeur Dernière intervention   1 797
     
    Re salut (enfin salut, j'avais manque de politesse/temps la premiere fois ;-) )
    Apres une petite incursion dans MSDN, je te suggeres :

    SELECT SUM(nbr), month as DATEPART(mm,date_interv) FROM ...GROUP BY month;

    Si tu veux, tu peux mettre un seul m pour retourner 1 pour janvier a la place de 01...

    Bonne chance

    ö,ö
    \_/
    0
  4. cvitedit
     
    Salut,

    La solution de Teebo a-t-elle fonctionnée ? Ca avait l'air pas mal.
    Je crois qu'une requête SQL avec Group By ne peut avoir d'instruction imbriquée (comme "Extract"). En général, il faut utiliser directement les données de la base, telle que date_interv. Si tu veux regrouper sur le mois, alors il faut faire le comptage manuellement dans un programme et non dans un SQL intéractif. Mais je dit peut-être des conneries...
    Une autre solution serait de créer une vue de la base de donnée avec une décomposition de date_interv en jour_interv, mois_interv et année_interv, puis de refaire le SELECT SUM à partir de cette vue.
    Bon courage.

    Plus vite tu parles, et moins on te contredit...
    cvitedit.
    0