Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

requete sur tranche de nombre

3 réponses
Avatar
DAniel
Bonjour
Je n'arrive pas à imaginer une requete me permettant d'afficher les
enregistrement en erreurs dans 1 table (a) en fonction de 2 tranches de
nombres exitants dans une 2 eme table (b) .
Table (a) : Chaque enregistrement a 1 champ "no_vague"
Table (b) : Chaque enregistrement a un identifiant "No_vague " et 2 champ
"Min" et "max"

->J'ai besoin de retrouver dans la table (a) tous les enregistrements pour
lesquels le "no_vague" n'est compris dans aucune tranche (min-max) d1
element de la table (b)
-> aussi de vérifier dans la table (b) si pas de "doublons" de tranches
(meme un seul nombre est compris dans >1 tranche )

Bon je peux faire une boucle de 1 à 999 (max ) et traiter les 12000
enregistrements de la table (a) , mais je pense qu'il y a mieux et peut être
plus simple avec une requete.
Sur des doublons simples j'arrive à faire , mais sur des "doublons" dans ces
tranches ?

Merci de voetre aide
DAniel

--

3 réponses

Avatar
Eric
Bonjour,

Pas sur d'avoir bien compris. Surtout l'histoire du no_vague dans la
table B.
Si tu recherches les enregistrements de la table A pour lesquels le
no_vague n'apartient à aucune des tranches de la table B (min-max), je
procèderai ainsi :

SELECT no_vague
FROM TableA
WHERE no_vague NOT IN (
SELECT no_vague
FROM TableA, TableB
WHERE no_vague BETWWEEN LeMin AND LeMax
)
;

(J'ai remplacé Min et Max par LeMin et LeMax car ce sont des noms de
fonctions.)

La sous-requête (celle écrite entre parenthèses) retourne tous les
enregistrements de la TableA pour lesquels le no_vague appartient à une
tranche de la TableB
La requête globale uniquement les enregistrements de la TableA pour
lesquels le no_vague n'appartient à aucune des tranches de la tableB.



DAniel a écrit :
Bonjour
Je n'arrive pas à imaginer une requete me permettant d'afficher les
enregistrement en erreurs dans 1 table (a) en fonction de 2 tranches de
nombres exitants dans une 2 eme table (b) .
Table (a) : Chaque enregistrement a 1 champ "no_vague"
Table (b) : Chaque enregistrement a un identifiant "No_vague " et 2 champ
"Min" et "max"

->J'ai besoin de retrouver dans la table (a) tous les enregistrements pour
lesquels le "no_vague" n'est compris dans aucune tranche (min-max) d1
element de la table (b)
-> aussi de vérifier dans la table (b) si pas de "doublons" de tranches
(meme un seul nombre est compris dans >1 tranche )

Bon je peux faire une boucle de 1 à 999 (max ) et traiter les 12000
enregistrements de la table (a) , mais je pense qu'il y a mieux et peut être
plus simple avec une requete.
Sur des doublons simples j'arrive à faire , mais sur des "doublons" dans ces
tranches ?

Merci de voetre aide
DAniel




--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Avatar
Eric
Avec un seul DoubleU (W) à BETWEEN ça devrait allet mieux je pense
;-)

Eric a écrit :
Bonjour,

Pas sur d'avoir bien compris. Surtout l'histoire du no_vague dans la
table B.
Si tu recherches les enregistrements de la table A pour lesquels le
no_vague n'apartient à aucune des tranches de la table B (min-max), je
procèderai ainsi :

SELECT no_vague
FROM TableA
WHERE no_vague NOT IN (
SELECT no_vague
FROM TableA, TableB
WHERE no_vague BETWWEEN LeMin AND LeMax
)
;

(J'ai remplacé Min et Max par LeMin et LeMax car ce sont des noms de
fonctions.)

La sous-requête (celle écrite entre parenthèses) retourne tous les
enregistrements de la TableA pour lesquels le no_vague appartient à une
tranche de la TableB
La requête globale uniquement les enregistrements de la TableA pour
lesquels le no_vague n'appartient à aucune des tranches de la tableB.



DAniel a écrit :
Bonjour
Je n'arrive pas à imaginer une requete me permettant d'afficher les
enregistrement en erreurs dans 1 table (a) en fonction de 2 tranches
de nombres exitants dans une 2 eme table (b) .
Table (a) : Chaque enregistrement a 1 champ "no_vague"
Table (b) : Chaque enregistrement a un identifiant "No_vague " et 2
champ "Min" et "max"

->J'ai besoin de retrouver dans la table (a) tous les enregistrements
pour lesquels le "no_vague" n'est compris dans aucune tranche
(min-max) d1 element de la table (b)
-> aussi de vérifier dans la table (b) si pas de "doublons" de
tranches (meme un seul nombre est compris dans >1 tranche )

Bon je peux faire une boucle de 1 à 999 (max ) et traiter les 12000
enregistrements de la table (a) , mais je pense qu'il y a mieux et
peut être plus simple avec une requete.
Sur des doublons simples j'arrive à faire , mais sur des "doublons"
dans ces tranches ?

Merci de voetre aide
DAniel







--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Avatar
Richard_35
Bonjour DAniel,

Bizarre, ta Table(b)... mais, il existe, sûrement, une subtilité.

Si j'ai bien compris, tes tables se présentent ainsi :
Table(a) :
- Id_Unique_TableA
- No_vague
- Autres champs...
Table(b) :
- No_vague (identifiant unique de Table(b))
- Min
- Max
- Autres champs...

2 questions :
- le champ No_vague de Table(b) est-il, réellement, une clé unique ?
- la clé de liaison entre ces 2 tables est-elle No_vague ?

Dis-nous,
Richard.

"DAniel" a écrit dans le message de news:
u$
Bonjour
Je n'arrive pas à imaginer une requete me permettant d'afficher les
enregistrement en erreurs dans 1 table (a) en fonction de 2 tranches de
nombres exitants dans une 2 eme table (b) .
Table (a) : Chaque enregistrement a 1 champ "no_vague"
Table (b) : Chaque enregistrement a un identifiant "No_vague " et 2 champ
"Min" et "max"

->J'ai besoin de retrouver dans la table (a) tous les enregistrements pour
lesquels le "no_vague" n'est compris dans aucune tranche (min-max) d1
element de la table (b)
-> aussi de vérifier dans la table (b) si pas de "doublons" de tranches
(meme un seul nombre est compris dans >1 tranche )

Bon je peux faire une boucle de 1 à 999 (max ) et traiter les 12000
enregistrements de la table (a) , mais je pense qu'il y a mieux et peut
être plus simple avec une requete.
Sur des doublons simples j'arrive à faire , mais sur des "doublons" dans
ces tranches ?

Merci de voetre aide
DAniel

--