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 :

Doublons sur clé primaire, comment faire?


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Mars 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2014
    Messages : 16
    Points : 11
    Points
    11
    Par défaut Doublons sur clé primaire, comment faire?
    Bonjour,
    Je vous remercie d'avance pour votre indulgence... j'ai cherché sur votre site et essayé pendant plusieurs heures à solutionner mon problème sans succès...

    J'ai une requête qui repose sur 7 tables, dont 6 qui ont une clé unique en commun (un n° d'article) et une septième (table de stocks) qui a comme clé primaire un numéro de dépôt.
    j'ai besoin de cette table pour déterminer s'il y a du stock ou non pour pouvoir "suspendre" l'article, mais quoi que je fasse, je me retrouve avec autant de ligne que de numéro de dépôt existant pour chaque article ( si un article est concerné par 4 dépôts différents, j'aurais 4 lignes...

    J'aurais eu besoin de n'avoir qu'une ligne par article mais ne trouve pas de solution...

    Merci d'avance pour votre aide.
    nb: pour plus de lisiblilté, j'ai éliminé un grand nombre d'items "select"

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT 
        ARTIC_2.NART as "NumArticle", 
        ARTIC.APV as "PrixBase", 
        case when ARTIC_2.ASUP=1 and STOC.QSTO=0 and STOC.QSTOR =0 then 'A Suspendre' else 'OK' end as "ASuspendre"
    FROM GESCOM.GESCOMA.ARTFOU ARTFOU, GESCOM.GESCOME.ARTFOU ARTFOU_1, GESCOM.GESCOMF.ARTFOU ARTFOU_2, GESCOM.GESCOMA.ARTIC ARTIC, GESCOM.GESCOME.ARTIC ARTIC_1, GESCOM.GESCOMF.ARTIC ARTIC_2, GESCOM.PARA.PARA34 PARA34, GESCOM.PARA.PARA35 PARA35, GESCOM.GESCOMA.STOC STOC
    WHERE ARTIC_2.NART = ARTFOU_2.AFNART AND ARTIC.NART = ARTFOU.AFNART AND ARTIC_1.NART = ARTIC_2.NART AND ARTIC.NART = ARTIC_1.NART AND ARTFOU_1.AFNART = ARTIC_1.NART AND ARTFOU_2.AFCFRA = PARA34.KEY34 AND ARTFOU_2.AFCGAR = PARA35.KEY35 AND ARTIC.NART = STOC.NART AND ((ARTIC.ASUP=0))

  2. #2
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Bonjour,

    Faites un group by par article, et un SUM pour les quantités

Discussions similaires

  1. Executable sur le CD -comment faire marcher?
    Par mihaispr dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 16/06/2009, 19h33
  2. Réponses: 4
    Dernier message: 16/02/2009, 13h42
  3. Réponses: 6
    Dernier message: 09/10/2008, 15h07
  4. [Rotations] Un objet sur une planete, comment faire ?
    Par supergrey dans le forum Développement 2D, 3D et Jeux
    Réponses: 6
    Dernier message: 09/03/2008, 11h21
  5. taper sur un nombre? Comment faire?
    Par toutounesan dans le forum VB 6 et antérieur
    Réponses: 16
    Dernier message: 13/11/2007, 14h13

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