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

Développement SQL Server Discussion :

Division par zéro


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Septembre 2002
    Messages : 148
    Par défaut Division par zéro
    Bonjour,
    Voici mon probleme SQL-Server 2005 me retourne a chaque fois cette petit phrase lorsque j'execute ma requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    "Division par zéro.
    Avertissement*: la valeur NULL est éliminée par un agrégat ou par une autre opération SET.
    "
    Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    with test as (
    select 
    	Région,
    	[Global Dimension 1] as Agence,
    	No_,
    	case 
    		when No_ like 'des.%' then '1'
    	end as Nb_Devis,
    	case 
    		when No_ like 'prj.%' then '1'
    	end as Nb_Affaires,
    	case 
    		when No_ like 'des.%' then [Creation Date]
    		when No_ like 'prj.%' then [Date de commande]
    	end as Date,
    	[Person Responsible]as Ing,
    	[Date de commande] as Commandes,
    	[Montant Devis] as Montant,
    	[Montant Sous-Traitance] as Sous_traitance
    from dbo.[societe$travaux]
    where Région = 'SUD')
     
    	Select 
    		max(Région) as Région,
    		Agence,
    		Ing,
    		count(Nb_Devis) as Nb_Devis,
    		count(Nb_Affaires) as  Nb_Affaires,
    		count(Nb_Devis)/count(Nb_Affaires) as taux_Reussite,
    		sum(Montant) as Montant,
    		sum(Sous_traitance) as Sous_traitance
    	from test
    	where date between '01/01/2010' and '31/12/2010'
    	group by Agence,Ing
    	order by Agence
    Comment dois je proceder pour rectifier cette erreur et faire en sorte qu'il mette "0" au resultat de cette division.

    Merci pour votre aide

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Septembre 2002
    Messages : 148
    Par défaut
    Bonjour,
    J'ai resolu mon probleme en modifiant le code comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (count(Nb_Devis)/NULLIF(count(Nb_Affaires), 0)) as taux_Reussite,
    en utilisant la fonction NULLIF il me retourne la valeur NULL
    bonne journée

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

Discussions similaires

  1. Division par zéro
    Par soltani1 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 18/05/2006, 09h42
  2. [Tableaux] Pb de division par zéro...
    Par blueice dans le forum Langage
    Réponses: 8
    Dernier message: 16/12/2005, 15h52
  3. [CR][VS.NET]Division par zéro
    Par San Soussy dans le forum SDK
    Réponses: 2
    Dernier message: 31/08/2005, 14h40
  4. [CR8.5] Problème de division par zéro sur formule
    Par franck.cvitrans dans le forum Formules
    Réponses: 3
    Dernier message: 10/06/2004, 13h41
  5. probleme avec une division par zéro
    Par jcharleszoxi dans le forum Langage SQL
    Réponses: 2
    Dernier message: 26/03/2003, 18h14

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