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

MS SQL Server Discussion :

IFNULL avec sqlserver?


Sujet :

MS SQL Server

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 11
    Points : 9
    Points
    9
    Par défaut IFNULL avec sqlserver?
    voila,
    je voudrai savoir si il existe un équivalent de la fonction IFNULL de mysql sur sql-server

    j'en ai besoin pour cette partie:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    (select sum(NBENTRANT) from PRODUIT_ENTRANT where IDREFERENCE=PRODUIT.IDREFERENCE)-
    IFNULL((select sum(NBSORTIE) from PRODUIT_SORTANT where IDREFERENCE=PRODUIT.IDREFERENCE),0))


    si je n'ai aucune sortie de se produit on ne le voit pas apparaitre dans ma vue
    donc c'est assez problématique


    merci d'avance pour les réponse.

  2. #2
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    Je pense que l'équivalent est la fonction ISNULL(), avec le même ordre de paramètres.
    Sachez que vous pouvez aussi utiliser COALESCE(), qui elle prend plusieurs paramètres et vous retourne le premier non NULL.

    @++

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 11
    Points : 9
    Points
    9
    Par défaut
    j'ai essayé mais le soucis c'est que ça ne m'affiche toujours pas le troisieme produit :s
    ça se situe surement au niveau de ma jointure non?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    create view vstock(idstock,idreference,libprod,prix,nbprod)as
    select idstock,idreference,libprod,p.prix,((sum(nbentree))-(ISNULL(sum(nbsortie),0)))as nbprod
    from produit p,entree e, sortie s,stock
    where idreference=s.produit and idreference=e.produit and idstock=p.stock
    group by  idstock,idreference,libprod,p.prix

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 862
    Points : 53 013
    Points
    53 013
    Billets dans le blog
    6

  5. #5
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Difficile à dire sans la structure de vos tables ...

    Ecrivez vos jointures plutôt en utilisant JOIN:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    CREATE VIEW vstock(idstock,idreference,libprod,prix,nbprod)
    AS
    SELECT p.idstock,
    		p.idreference,
    		p.libprod,
    		p.prix,
    		sum(nbentree) - ISNULL(sum(nbsortie), 0)) AS nbprod
    FROM dbo.produit AS p
    JOIN dbo.entree AS e p.idreference = e.produit
    JOIN dbo.sortie AS so ON p.idreference = so.produit,
    JOIN dbo.stock AS st ON p.idstock=p.stock
    GROUP BY p.idstock, p.idreference, p.libprod, p.prix
    @++

Discussions similaires

  1. table relation avec sqlserver
    Par salmer dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 06/04/2006, 14h07
  2. Réponses: 1
    Dernier message: 05/04/2006, 23h22
  3. [SQL-Server] Configuration avec SQLServer
    Par Bissada dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 14/02/2006, 21h23
  4. Convertir un champ DATETIME en DATE avec SQLSERVER
    Par __fabrice dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 10/11/2005, 11h26
  5. Création d'agrégat avec SQLServer
    Par Testav dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 19/09/2002, 16h54

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