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

Bases de données Delphi Discussion :

Problème Requête SQL Server


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    119
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 119
    Par défaut Problème Requête SQL Server
    Bonjour, j'ai une requête qui valorise le stock des articles selon le CUMP (coût unitaire moyen pondéré. c'est la suivante:
    Remarque:
    bla_lignes: c'est la table des réceptions achat
    be_lignes: c'est la table des entrées stocks
    bs_lignes: c'est la table des sorties de stock
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    select a.code,a.designation,a.um_stock,
     
    ((select isnull (sum(c.qte),0) from be_lignes c,be r where r.num_e=c.num_e and c.c_art=a.code )- 
    (select isnull (sum(c.qte),0) from bs_lignes c,bs r where r.num_s=c.num_s and c.c_art=a.code  ))
    *
    ( case (select isnull(sum(qte),0) from bla_lignes where c_art=a.code and bl 
    in(select bl from bla where d_com>='01/01/2008 00:00' and d_com<='31/05/2008 23:59')) 
    when 0 then 0 else (select isnull(sum(qte*p_vente),0) from bla_lignes where c_art=a.code and 
    bl in(select bl from bla where d_com>='01/01/2008 00:00' and d_com<='31/05/2008 23:59'))/
    (select isnull(sum(qte),0) from bla_lignes where c_art=a.code and bl in(select bl from bla 
    where d_com>='01/01/2008 00:00' and d_com<='31/05/2008 23:59')) end) as Stock_val 
    from produit a 
    where achete=1 
    order by a.code
    cette requête marche parfaitement.
    le problème c'est que quand je mets dans le where (pour sélectionner d'autres types articles),
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    where achete=1 and vendu=1

    le message suivant est affiché

    " [DBNETLIB connectionRead] (Wrapper Read()) Erreur Réseau Générale. Consultez la documentation relative à votre réseau."

    et pourtant c'est une condition que j'ai ajouté trés simple, je ne voie pas pourquoi.

    même si je mets (where fabrique=1 and vendu=1) ça marche???

    pouvez-vous m'orienter, les trucs bizzares me dépassent

  2. #2
    Membre Expert

    Profil pro
    Leader Technique
    Inscrit en
    Juin 2005
    Messages
    1 756
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 756
    Par défaut
    Si tu as cette erreur, c'est que tu as perdu la connexion au serveur SQL Server.

    Il peut y avoir plusieurs raisons :
    1. Tu as effectivement subit une coupure réseau.
    2. T'as requête contient quelque chose qui a fait crasher le serveur et donc SQL Server a réagis en tuant ta connexion. C'est rarissime mais j'ai déjà eu le cas une fois. Dans ce cas, regarde dans les fichiers logs de SQL Server ou dans le journal d'événements windows, tu as peut-être plus d'informations.
    Essaie aussi d'installer le dernier service pack.
    Si le problème perdure, il faudra écrire la requête différemment.

  3. #3
    Membre Expert
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    Mars 2006
    Messages
    1 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Expert Delphi

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 542
    Billets dans le blog
    10
    Par défaut
    A tu essayé de décomposer ta demande SQL en plusieurs demandes en utilisant des tables temporaires.

  4. #4
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    119
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 119
    Par défaut
    Franck SORIANO a dit:
    1. Tu as effectivement subit une coupure réseau.
    non à partir de cette requête, la connexion vers le serveur échoue, mais j'ai toujours des connexions réseau.

    ALWEBER a dit:
    A tu essayé de décomposer ta demande SQL en plusieurs demandes en utilisant des tables temporaires.
    mais comment le ferais-je?? je ne sais pas.

  5. #5
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 46
    Par défaut
    verifies la compatibilité du champ achete de la table et type numerique ....

  6. #6
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    119
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 119
    Par défaut
    les champs achete,vendu,fabrique sont de type int.
    ils sont tous soit à 1 ou à 0 dans la table.
    sachant que la table produit contient 807 enregistrements

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

Discussions similaires

  1. probléme dans une requête sql server
    Par red_one dans le forum Langage SQL
    Réponses: 1
    Dernier message: 02/06/2009, 09h15
  2. problème requête sql
    Par perfectdams dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 21/06/2005, 18h09
  3. Problème installation SQL Server 2000 (programme antérieur)
    Par 404Found dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 25/04/2005, 10h24
  4. Problème réplication SQL Server et SQL Server CE (RDA)
    Par didix11 dans le forum Réplications
    Réponses: 2
    Dernier message: 15/04/2004, 11h10
  5. Réponses: 8
    Dernier message: 23/10/2003, 16h22

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