Précédent   Forum des professionnels en informatique > Systèmes > Autres systèmes > AS/400
AS/400 Le Forum d'entraide sur IBM AS/400 - iSeries. RPG.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/02/2012, 15h08   #1
Débutant
 
Inscription : mars 2007
Messages : 258
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 258
Points : 34
Points : 34
Par défaut Query avec plein de doublons !

Bonjour à tous,
J’ai un problème dans une requête AS400, cette requête se présente de la façon suivante :

Table Article
Code article
Nom article


Table Mouvement de stock
Code article
Type de mouvement
Date du mouvement

Je veux faire une extraction de ma base article, mais je ne veux que les articles qui ont au moins un mouvement de stock depuis 2010, donc au niveau de l’option « Choix des enregistrement, je rajoute la condition : « T06.MSDATE GE 20100000 ».

Le problème est que le résulat est colossal car j’ai plusieurs lignes identiques qui correspondent à tous mes mouvements de stock (même si je ne les fais pas apparaître dans le résultat de ma requête)! Du coup, j’ai un résultat du style :

-01- article 1
-01- article 1
-01- article 1
-01- article 1
-01- article 1
-01- article 1
-01- article 1
-01- article 1
-01- article 1
-01- article 1
-01- article 1
-01- article 1
-01- article 1
-02- article 2
-02- article 2
-02- article 2
-02- article 2
-03- article 3
-04- article 4
-04- article 4
-04- article 4
-04- article 4
-04- article 4
-04- article 4
-04- article 4
-04- article 4

…etc !
Pouvez-vous m’aider à résoudre ce problème svp ?
supertoms est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2012, 15h52   #2
Membre régulier
 
Inscription : octobre 2006
Messages : 115
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 115
Points : 96
Points : 96
Bonjour,

Déjà quel intérêt d'utiliser encore Query ?
Ensuite, de quel Query parles tu ? C'est une commande OpnQryf, un Query/400 ?
Ensuite je pense comprendre ton problème mais je n'en suis pas certain. Tu as fait une jointure pour pouvoir tester l'existence d'un mouvement, et tu as donc un enregistrement par mouvement, c'est bien çà ?

Edit :
Après relecture, je pense que tu parles d'un Query/400. Mazette j'ai plus utilisé çà depuis belle lurette !
Donc pour ton test je crois que c'est cuit dans un Query unique. Il faudrait faire un 1er Query qui extraierait les mouvements de stock (avec regroupement et tu demandes juste les totaux). Dans le 2ème query tu fais ta jointure en ne prenant que les enregistrements avec un total lvl 1, et çà roule. mais bon avec un SQL on aurait fait çà de manière bien plus simple !
m4k-Hurrican est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2012, 16h53   #3
Membre habitué
 
Homme
Analyste-Programmeur as/400 et Java
Inscription : août 2002
Messages : 107
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Luxembourg

Informations professionnelles :
Activité : Analyste-Programmeur as/400 et Java
Secteur : Finance

Informations forums :
Inscription : août 2002
Messages : 107
Points : 130
Points : 130
Bonjour,

Donne ton query et après on pourra aviser.

Larry57
larry57 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2012, 08h52   #4
Membre du Club
 
Homme Thomas
Architecte technique
Inscription : septembre 2010
Messages : 42
Détails du profil
Informations personnelles :
Nom : Homme Thomas
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Architecte technique

Informations forums :
Inscription : septembre 2010
Messages : 42
Points : 41
Points : 41
Citation:
Envoyé par m4k-Hurrican Voir le message
Bonjour,
Déjà quel intérêt d'utiliser encore Query ?
!
Effectivement, ce sera plus simple avec SQL ou QM (sauf pour la mise en page qui n'est pas très intuitive dans QM).

Sinon, dans QUERY/400, de mémoire, il faut faire un requête avec de champ de comptage, de total ou autre formule de "cumul" (Choisir les fonctions récapitulatives du rapport), Définir les ruptures de contrôle puis demander une requête récapitulative (Choisir le type et la nature de la sortie / Nature de la sortie : 2=Récapitulative)
pwrdwnsys est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2012, 10h01   #5
Invité de passage
 
Inscription : juin 2009
Messages : 12
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 12
Points : 1
Points : 1
Non seulement QM offre cette possibilité mais aussi la mise en page avec la gestion de format.
Et d'ailleurs même au point de vue performance car QM utilise le moteur SQE cependant que query/400 utilisant la "brouette", le CQE.
moudcoul est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h08.


 
 
 
 
Partenaires

Hébergement Web