OVH Cloud OVH Cloud

requête et conditions

4 réponses
Avatar
cyberjc
Bonjour, j'ai un peu de mal pour extraire des données d'une table qui
contient des lignes de commandes client. Pour chaque commande, on peut donc
avoir plusieurs lignes qui peuvent être soldées individuellement, ce que je
voudrai c'est remonter les commandes dont TOUTES les lignes sont soldées et
pas les autres. Merci d'avance pour vos suggestions.

jc

4 réponses

Avatar
Raymond [mvp]
Bonjour.

Tu dois avoir un champ qui dit que ta ligne est soldée ou non. Pour
récupérer les numéros, tu peux faire une requête de regroupement sur le
numéro avec un critère sur le champ "soldé".

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"cyberjc" a écrit dans le message de
news:
Bonjour, j'ai un peu de mal pour extraire des données d'une table qui
contient des lignes de commandes client. Pour chaque commande, on peut
donc
avoir plusieurs lignes qui peuvent être soldées individuellement, ce que
je
voudrai c'est remonter les commandes dont TOUTES les lignes sont soldées
et
pas les autres. Merci d'avance pour vos suggestions.

jc


Avatar
cyberjc
Merci Raymond mais j'ai bien essayé de faire comme ça mais je remonte quand
même les commandes pour lesquelles une seule ligne est soldée alors que je ne
veux que celles dont TOUTES les lignes le sont. A la rigueur, je peux
raisonner à l'inverse en remontant toutes celles qui sont soldées
partiellement mais dans ce cas je ne sais pas comment faire pour les exclures
pour arriver au résultat quie je souhaite...je ne sais pas si c'est bien
clair... :-)


Bonjour.

Tu dois avoir un champ qui dit que ta ligne est soldée ou non. Pour
récupérer les numéros, tu peux faire une requête de regroupement sur le
numéro avec un critère sur le champ "soldé".

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"cyberjc" a écrit dans le message de
news:
Bonjour, j'ai un peu de mal pour extraire des données d'une table qui
contient des lignes de commandes client. Pour chaque commande, on peut
donc
avoir plusieurs lignes qui peuvent être soldées individuellement, ce que
je
voudrai c'est remonter les commandes dont TOUTES les lignes sont soldées
et
pas les autres. Merci d'avance pour vos suggestions.

jc







Avatar
Eric
Bonjour cyberjc,

Tu es dans un cas Commande-Ligne (relation 1 à N)
donc il faut trouver tous les n° de commande pour lesquelles TOUTES les
lignes sont soldées

Essaies un truc du genre :

SELECT numcommande FROM ligne T1
GROUP BY numcommande
HAVING count(*) (SELECT count(*) FROM ligne WHERE
numcommande = T1.numcommande AND solde= true)

ca devrait répondre à ton besoin

A+
Eric


Merci Raymond mais j'ai bien essayé de faire comme ça mais je remonte quand
même les commandes pour lesquelles une seule ligne est soldée alors que je ne
veux que celles dont TOUTES les lignes le sont. A la rigueur, je peux
raisonner à l'inverse en remontant toutes celles qui sont soldées
partiellement mais dans ce cas je ne sais pas comment faire pour les exclures
pour arriver au résultat quie je souhaite...je ne sais pas si c'est bien
clair... :-)



Bonjour.

Tu dois avoir un champ qui dit que ta ligne est soldée ou non. Pour
récupérer les numéros, tu peux faire une requête de regroupement sur le
numéro avec un critère sur le champ "soldé".

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"cyberjc" a écrit dans le message de
news:

Bonjour, j'ai un peu de mal pour extraire des données d'une table qui
contient des lignes de commandes client. Pour chaque commande, on peut
donc
avoir plusieurs lignes qui peuvent être soldées individuellement, ce que
je
voudrai c'est remonter les commandes dont TOUTES les lignes sont soldées
et
pas les autres. Merci d'avance pour vos suggestions.

jc









Avatar
cyberjc
Merci beaucoup Eric, j'ai réussi à adapter ta solution et ça fonctionne bien.
A+


Bonjour cyberjc,

Tu es dans un cas Commande-Ligne (relation 1 à N)
donc il faut trouver tous les n° de commande pour lesquelles TOUTES les
lignes sont soldées

Essaies un truc du genre :

SELECT numcommande FROM ligne T1
GROUP BY numcommande
HAVING count(*) > (SELECT count(*) FROM ligne WHERE
numcommande = T1.numcommande AND solde= true)

ca devrait répondre à ton besoin

A+
Eric


Merci Raymond mais j'ai bien essayé de faire comme ça mais je remonte quand
même les commandes pour lesquelles une seule ligne est soldée alors que je ne
veux que celles dont TOUTES les lignes le sont. A la rigueur, je peux
raisonner à l'inverse en remontant toutes celles qui sont soldées
partiellement mais dans ce cas je ne sais pas comment faire pour les exclures
pour arriver au résultat quie je souhaite...je ne sais pas si c'est bien
clair... :-)



Bonjour.

Tu dois avoir un champ qui dit que ta ligne est soldée ou non. Pour
récupérer les numéros, tu peux faire une requête de regroupement sur le
numéro avec un critère sur le champ "soldé".

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"cyberjc" a écrit dans le message de
news:

Bonjour, j'ai un peu de mal pour extraire des données d'une table qui
contient des lignes de commandes client. Pour chaque commande, on peut
donc
avoir plusieurs lignes qui peuvent être soldées individuellement, ce que
je
voudrai c'est remonter les commandes dont TOUTES les lignes sont soldées
et
pas les autres. Merci d'avance pour vos suggestions.

jc