Utiliser une variable d'une requête

Résolu/Fermé
Signaler
Messages postés
605
Date d'inscription
mardi 16 avril 2013
Statut
Membre
Dernière intervention
4 novembre 2021
-
Messages postés
18298
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
22 janvier 2022
-
Bonjour,

j'aide actuellement quelqu'un sur ACCESS (ayant de très faibles bases en SQL) cependant, je suis collé... J'en fais donc appel à vous !


Je vous explique le problème :
Il doit faire une requête, utilisant affichant des données par un SELECT sur une table "CONSOMMATION". Cependant, pour cela il utilise une variable déclarée dans une autre requête nommée "2".

Il a donc fait : "FROM CONSOMMATION, 2". Cependant, cette requête (j'ai l'impression), m'affiche et les lignes de CONSOMMATION et celle résultantes de la requête 2.

Je voudrais donc savoir comment je pourrais juste mettre la requête "2" en "ressource" afin qu'il s'en servent juste comme référence pour une variable...

Merci d'avance, j'espère avoir pu me faire comprendre...

Query :
SELECT  [row1], [row2], [row3], VIC*[ROW VENANT DE LA REQUETE 2] AS [row4]
FROM CONSOMMATION, 2
WHERE [ROW VENANT DE LA REQUETE 2]= [row]
ORDER BY [row2], [ro3];


1 réponse

Messages postés
18298
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
22 janvier 2022
1 002
bonjour, peux-tu ajouter quelques informations:
- champs de la table CONSOMMATION
- syntaxe de la requête 2
- que retourne la requête 2: plusieurs lignes?
- résultat attendu, peut-être avec un exemple
0
Messages postés
605
Date d'inscription
mardi 16 avril 2013
Statut
Membre
Dernière intervention
4 novembre 2021
165
Bonjour, merci de ta réponse rapide comme toujours !

Les colonnes de la table CONSOMMATION : N° Consommation | Code chantier | code activité | N° mois | VIC

Ma query avec les bons champs :
SELECT  [numéro mois], [Code activité], [code chantier], VIC*[COUT DE L'INDUCTEUR] AS [Cout l'activité par chantier]
FROM CONSOMMATION, 2
WHERE [CODE ACTIVITE]= [code activité]
ORDER BY [Code chantier], [numéro mois];


Et voici ma query 2 :
SELECT [numéro mois], [CODE ACTIVITE], [MONTANT ACTIVITE], [Nombre d'inducteur], ROUND([MONTANT ACTIVITE]/[Nombre d'inducteur],2) AS [COUT DE L'INDUCTEUR]
FROM COUTER, 1
WHERE [code activité]=[CODE ACTIVITE];


Problème : Je veux que la query 3 (la première) ne m'affiche que les résultats de la table CONSOMMATION et non celle de la query 2.
0
Messages postés
18298
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
22 janvier 2022
1 002 >
Messages postés
605
Date d'inscription
mardi 16 avril 2013
Statut
Membre
Dernière intervention
4 novembre 2021

tu ne décris pas ton problème: tu décris (de façon floue) ce que tu veux obtenir, pas la différence avec ce que tu obtiens. essaie d'être factuel, éventuellement avec un exemple. il m'est difficile d'imaginer que la requête 3 renvoie une valeur de [Code activité] qui ne se trouve pas dans la table CONSOMMATION.
tu n'en as rien dit, et je crois deviner que [Code activité] est unique dans CONSOMMATION. est-ce le cas?
est-ce aussi le cas dans ta requête 3?
0
Messages postés
605
Date d'inscription
mardi 16 avril 2013
Statut
Membre
Dernière intervention
4 novembre 2021
165
En fait mon problème est que ma requête 3 a des doublons :
-Elle prend les champs correspondants dans la table CONSOMMATION (ce que je désire);
-Elle prend aussi, et ce n'est pas voulu les champs résultants de la requête 2.

Ce qui fait que ma requête 3 contient des doubles...
0
Messages postés
18298
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
22 janvier 2022
1 002 >
Messages postés
605
Date d'inscription
mardi 16 avril 2013
Statut
Membre
Dernière intervention
4 novembre 2021

veux-tu dire que la requête 3 retourne plusieurs fois des lignes totalement identiques? n'hésite pas à donner un exemple. tu donnes très peu d'information. tu expliques comment tu comprends le problème, pas ce que tu observes.
je crois deviner que le champ [Code activité] est unique dans CONSOMMATION. est-ce le cas?
est-ce aussi le cas dans ta requête 3?
par unique, je veux dire qu'il n'y a pas 2 lignes ayant la même valeur pour ce champ.
sache aussi que champ est quasi synonyme de colonne, et que ligne est quasi synonyme d’enregistrement.
et que, dans ce contexte, "row" signifie ligne.
0
Messages postés
605
Date d'inscription
mardi 16 avril 2013
Statut
Membre
Dernière intervention
4 novembre 2021
165
Ma requête 3 me retourne des lignes qui n'apparaissent pas dans ma table CONSOMMATION, et qui sont ma requête 2. J'en conclu donc que le SELECT cherche et dans la tablete CONSOMMATION et dans les résultats de la requête 2.

Je m'explique :

Toutes mes lignes peuvent être regroupées en groupe de 3 (les 3 ayant la même "code chantier", cependant, cela me retourne tous les groupes deux fois en changeant juste le numéro du mois :


Merci de ton aide.
0