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

extraire plusieurs lignes d'une colonne

11 réponses
Avatar
kikilegeni
Bonjour,
je voudrais extraire plusieurs lignes d'une table et les mettre en colonne.
je possède 4 tables.
compte
ecriture
mouvement
t_loc

dans la table t_loc, j'ai 3 champs qui s'appelle 1nom, 2compt_asso, 3compt_asso1
dans la table mouvement j'ai 5 champs qui s'appelle ecriture,Compte,debit,credit
dans la table ecriture 3 champs, numéro,date, libellé
dans la table compte, j'ai 3 champs qui s'appelle n°, intitulé, type

la table ecriture est relié avec la table mouvement par le champ ecriture.numéro et mouvement.ecriture.
La table compte est relié avec la table mouvement par le champ compte.n° et mouvement.compte

mon problème est que je voudrais faire apparaître en même temps de la table mouvement tous les champs qui comporte le n° de la table t_loc du champ compt_asso et compt_asso1.

J'arrive à le faire pour un champ ou l'autre mais pas les deux en même temps.

Merci d'avance.

10 réponses

1 2
Avatar
Michel__D
Bonjour,

Si j'ai bien compris, une requête union devrait le faire, en gros tu rajoute
UNION entre tes 2 SQL.

Exemple :

SELECT LeChamp
FROM LaTable
UNION
SELECT LeChamp1
FROM LaTable


"kikilegeni" a écrit dans le message de news:
Bonjour,
je voudrais extraire plusieurs lignes d'une table et les mettre en colonne.
je possède 4 tables.
compte
ecriture
mouvement
t_loc

dans la table t_loc, j'ai 3 champs qui s'appelle 1nom, 2compt_asso,
3compt_asso1
dans la table mouvement j'ai 5 champs qui s'appelle
ecriture,Compte,debit,credit
dans la table ecriture 3 champs, numéro,date, libellé
dans la table compte, j'ai 3 champs qui s'appelle n°, intitulé, type

la table ecriture est relié avec la table mouvement par le champ
ecriture.numéro et mouvement.ecriture.
La table compte est relié avec la table mouvement par le champ compte.n° et
mouvement.compte

mon problème est que je voudrais faire apparaître en même temps de la table
mouvement tous les champs qui comporte le n° de la table t_loc du champ
compt_asso et compt_asso1.

J'arrive à le faire pour un champ ou l'autre mais pas les deux en même temps.

Merci d'avance.


Avatar
kikilegeni
kikilegeni a écrit le 19/01/2009 à 17h33 :
Bonjour,
je voudrais extraire plusieurs lignes d'une table et les mettre en colonne.
je possède 4 tables.
compte
ecriture
mouvement
t_loc

dans la table t_loc, j'ai 3 champs qui s'appelle 1nom, 2compt_asso,
3compt_asso1
dans la table mouvement j'ai 5 champs qui s'appelle
ecriture,Compte,debit,credit
dans la table ecriture 3 champs, numéro,date, libellé
dans la table compte, j'ai 3 champs qui s'appelle n°, intitulé,
type

la table ecriture est relié avec la table mouvement par le champ
ecriture.numéro et mouvement.ecriture.
La table compte est relié avec la table mouvement par le champ
compte.n° et mouvement.compte

mon problème est que je voudrais faire apparaître en même
temps de la table mouvement tous les champs qui comporte le n° de la table
t_loc du champ compt_asso et compt_asso1.

J'arrive à le faire pour un champ ou l'autre mais pas les deux en
même temps.

Merci d'avance.


tout d'abord merci d'avoir répondu.
Mais j'ai essayé union mais c'est pas cela.
Il me faudrait plutôt l'inverse car dans ma table mouvement comprends déjà toutes les données.
je vais essaye d'être plus clair:
j'ai dans une table plusieurs champs.
je veux voir les données de certaines lignes.
Donc j'utilise une requete qui selectionne les lignes que j'ai besoin.
sauf que j'ai besoin d'autres lignes qui ne peuvent pas être selectionner avec la première requete.
et je voudrais les mettre cote à cote

cordialement
Avatar
Michel__D
Re,

"kikilegeni" a écrit dans le message de news:
kikilegeni a écrit le 19/01/2009 à 17h33 :
> Bonjour,
> je voudrais extraire plusieurs lignes d'une table et les mettre en colonne.
> je possède 4 tables.
> compte
> ecriture
> mouvement
> t_loc
>
> dans la table t_loc, j'ai 3 champs qui s'appelle 1nom, 2compt_asso,
> 3compt_asso1
> dans la table mouvement j'ai 5 champs qui s'appelle
> ecriture,Compte,debit,credit
> dans la table ecriture 3 champs, numéro,date, libellé
> dans la table compte, j'ai 3 champs qui s'appelle n°, intitulé,
> type
>
> la table ecriture est relié avec la table mouvement par le champ
> ecriture.numéro et mouvement.ecriture.
> La table compte est relié avec la table mouvement par le champ
> compte.n° et mouvement.compte
>
> mon problème est que je voudrais faire apparaître en même
> temps de la table mouvement tous les champs qui comporte le n° de la table
> t_loc du champ compt_asso et compt_asso1.
>
> J'arrive à le faire pour un champ ou l'autre mais pas les deux en
> même temps.
>
> Merci d'avance.
tout d'abord merci d'avoir répondu.
Mais j'ai essayé union mais c'est pas cela.
Il me faudrait plutôt l'inverse car dans ma table mouvement comprends déjà
toutes les données.
je vais essaye d'être plus clair:
j'ai dans une table plusieurs champs.
je veux voir les données de certaines lignes.
Donc j'utilise une requete qui selectionne les lignes que j'ai besoin.
sauf que j'ai besoin d'autres lignes qui ne peuvent pas être selectionner avec
la première requete.
et je voudrais les mettre cote à cote

cordialement



Tu peux fournir le SQL des requêtes.
Avatar
kikilegeni
kikilegeni a écrit le 19/01/2009 à 17h33 :
Bonjour,
je voudrais extraire plusieurs lignes d'une table et les mettre en colonne.
je possède 4 tables.
compte
ecriture
mouvement
t_loc

dans la table t_loc, j'ai 3 champs qui s'appelle 1nom, 2compt_asso,
3compt_asso1
dans la table mouvement j'ai 5 champs qui s'appelle
ecriture,Compte,debit,credit
dans la table ecriture 3 champs, numéro,date, libellé
dans la table compte, j'ai 3 champs qui s'appelle n°, intitulé,
type

la table ecriture est relié avec la table mouvement par le champ
ecriture.numéro et mouvement.ecriture.
La table compte est relié avec la table mouvement par le champ
compte.n° et mouvement.compte

mon problème est que je voudrais faire apparaître en même
temps de la table mouvement tous les champs qui comporte le n° de la table
t_loc du champ compt_asso et compt_asso1.

J'arrive à le faire pour un champ ou l'autre mais pas les deux en
même temps.

Merci d'avance.


voici pour la première:nommé rq_locataire4
SELECT t_locataire.nom, t_locataire.prénom, t_locataire.loyer, t_locataire.charges, rq_locataire.moi, rq_locataire.SommeDedebit, rq_locataire.SommeDecredit, rq_locataire.mois, rq_locataire.compte
FROM t_locataire LEFT JOIN rq_locataire ON t_locataire.compte_asso = rq_locataire.compte
ORDER BY rq_locataire.mois, rq_locataire.compte;
voici pour la deuxième : nommé rq_locataire7
SELECT t_locataire.nom, t_locataire.prénom, [Copie de rq_locataire7].moi, [Copie de rq_locataire7].SommeDedebit, [Copie de rq_locataire7].SommeDecredit, [Copie de rq_locataire7].mois, [Copie de rq_locataire7].compte
FROM t_locataire LEFT JOIN [Copie de rq_locataire7] ON t_locataire.compte_asso1 = [Copie de rq_locataire7].compte
ORDER BY [Copie de rq_locataire7].mois, [Copie de rq_locataire7].compte;
Avatar
Michel__D
Bonjour,

kikilegeni a écrit :
kikilegeni a écrit le 19/01/2009 à 17h33 :
Bonjour,
je voudrais extraire plusieurs lignes d'une table et les mettre en colonne.
je possède 4 tables.
compte
ecriture
mouvement
t_loc

dans la table t_loc, j'ai 3 champs qui s'appelle 1nom, 2compt_asso,
3compt_asso1
dans la table mouvement j'ai 5 champs qui s'appelle
ecriture,Compte,debit,credit
dans la table ecriture 3 champs, numéro,date, libellé
dans la table compte, j'ai 3 champs qui s'appelle n°, intitulé,
type

la table ecriture est relié avec la table mouvement par le champ
ecriture.numéro et mouvement.ecriture.
La table compte est relié avec la table mouvement par le champ
compte.n° et mouvement.compte

mon problème est que je voudrais faire apparaître en même
temps de la table mouvement tous les champs qui comporte le n° de la table
t_loc du champ compt_asso et compt_asso1.

J'arrive à le faire pour un champ ou l'autre mais pas les deux en
même temps.

Merci d'avance.


voici pour la première:nommé rq_locataire4
SELECT t_locataire.nom, t_locataire.prénom, t_locataire.loyer,
t_locataire.charges, rq_locataire.moi, rq_locataire.SommeDedebit,
rq_locataire.SommeDecredit, rq_locataire.mois, rq_locataire.compte
FROM t_locataire LEFT JOIN rq_locataire ON t_locataire.compte_asso > rq_locataire.compte
ORDER BY rq_locataire.mois, rq_locataire.compte;
voici pour la deuxième : nommé rq_locataire7
SELECT t_locataire.nom, t_locataire.prénom, [Copie de rq_locataire7].moi,
[Copie de rq_locataire7].SommeDedebit, [Copie de rq_locataire7].SommeDecredit,
[Copie de rq_locataire7].mois, [Copie de rq_locataire7].compte
FROM t_locataire LEFT JOIN [Copie de rq_locataire7] ON t_locataire.compte_asso1
= [Copie de rq_locataire7].compte
ORDER BY [Copie de rq_locataire7].mois, [Copie de rq_locataire7].compte;




Dans la requête [Copie de rq_locataire7] il faut faire apparaître le
champ [compte_asso], ce qui donnera pour la requête finale, ceci :

SELECT T.nom, T.prénom, T.loyer, T.charges,
T1.moi, T1.SommeDedebit, T1.SommeDecredit, T1.mois, T1.compte
T2.moi, T2.SommeDedebit, T2.SommeDecredit, T2.mois, T2.compte
FROM rq_locataire AS T1 RIGHT JOIN
(t_locataire AS T LEFT JOIN [Copie de rq_locataire7] AS T2
ON T.[compte_asso1] = T2.compte And T.[compte_asso] = T2.[compte_asso])
ON T1.compte = T.[compte_asso]
ORDER BY T1.mois, T1.compte;
Avatar
kikilegeni
Michel__D a écrit le 21/01/2009 à 13h23 :
Bonjour,

kikilegeni a écrit :
kikilegeni a écrit le 19/01/2009 à 17h33 :
Bonjour,
je voudrais extraire plusieurs lignes d'une table et les mettre en colonne.
je possède 4 tables.
compte
ecriture
mouvement
t_loc

dans la table t_loc, j'ai 3 champs qui s'appelle 1nom, 2compt_asso,
3compt_asso1
dans la table mouvement j'ai 5 champs qui s'appelle
ecriture,Compte,debit,credit
dans la table ecriture 3 champs, numéro,date, libellé
dans la table compte, j'ai 3 champs qui s'appelle n°, intitulé,
type

la table ecriture est relié avec la table mouvement par le champ
ecriture.numéro et mouvement.ecriture.
La table compte est relié avec la table mouvement par le champ
compte.n° et mouvement.compte

mon problème est que je voudrais faire apparaître en même
temps de la table mouvement tous les champs qui comporte le n° de la
table
t_loc du champ compt_asso et compt_asso1.

J'arrive à le faire pour un champ ou l'autre mais pas les deux en
même temps.

Merci d'avance.



voici pour la première:nommé rq_locataire4
SELECT t_locataire.nom, t_locataire.prénom, t_locataire.loyer,
t_locataire.charges, rq_locataire.moi, rq_locataire.SommeDedebit,
rq_locataire.SommeDecredit, rq_locataire.mois, rq_locataire.compte
FROM t_locataire LEFT JOIN rq_locataire ON t_locataire.compte_asso >
rq_locataire.compte
ORDER BY rq_locataire.mois, rq_locataire.compte;
voici pour la deuxième : nommé rq_locataire7
SELECT t_locataire.nom, t_locataire.prénom, [Copie de
rq_locataire7].moi,
[Copie de rq_locataire7].SommeDedebit, [Copie de rq_locataire7].SommeDecredit,
[Copie de rq_locataire7].mois, [Copie de rq_locataire7].compte
FROM t_locataire LEFT JOIN [Copie de rq_locataire7] ON
t_locataire.compte_asso1
= [Copie de rq_locataire7].compte
ORDER BY [Copie de rq_locataire7].mois, [Copie de rq_locataire7].compte;





Dans la requête [Copie de rq_locataire7] il faut faire apparaître
le
champ [compte_asso], ce qui donnera pour la requête finale, ceci :

SELECT T.nom, T.prénom, T.loyer, T.charges,
T1.moi, T1.SommeDedebit, T1.SommeDecredit, T1.mois, T1.compte
T2.moi, T2.SommeDedebit, T2.SommeDecredit, T2.mois, T2.compte
FROM rq_locataire AS T1 RIGHT JOIN
(t_locataire AS T LEFT JOIN [Copie de rq_locataire7] AS T2
ON T.[compte_asso1] = T2.compte And T.[compte_asso] = T2.[compte_asso])
ON T1.compte = T.[compte_asso]
ORDER BY T1.mois, T1.compte;


merci Michel, mais cela ne fonctionne pas.
j'arrive pas à déterminer pourquoi.
voici le message d'erreur "Microsoft Office Access ne peut pas représenter l'expression de la jointureT.[compte_asso] = T2.[compte_asso] en mode création."

voici le SQL de la requête "copie de rq_locataire7":

SELECT DISTINCT Format([datEcr],"mmmm") AS moi, Sum(mouvement.debit) AS SommeDedebit, Sum(mouvement.credit) AS SommeDecredit, Month([datEcr]) AS mois, mouvement.compte
FROM ecriture INNER JOIN (t_locataire RIGHT JOIN mouvement ON t_locataire.compte_asso = mouvement.compte) ON ecriture.numEcr = mouvement.ecriture
GROUP BY Format([datEcr],"mmmm"), Month([datEcr]), mouvement.compte
HAVING (((mouvement.compte) Between "752000" And "752999"))
ORDER BY Month([datEcr]);

voici ta requete:
SELECT T.nom, T.prénom, T.loyer, T.charges, T1.moi, T1.SommeDedebit, T1.SommeDecredit, T1.mois, T1.compte, T2.moi, T2.SommeDedebit, T2.SommeDecredit, T2.mois, T2.compte
FROM rq_locataire AS T1 RIGHT JOIN (t_locataire AS T LEFT JOIN [Copie de rq_locataire7] AS T2 ON (T.[compte_asso] = T2.[compte_asso]) AND (T.[compte_asso1] = T2.compte)) ON T1.compte = T.[compte_asso]
ORDER BY T1.mois, T1.compte;

par contre de mon coté j'ai travaillé toute la nuit dernière et j'ai voulu partir directement des tables pour faire une requête:

SELECT t_locataire.nom, t_locataire.prénom, mouvement.compte, mouvement.debit, mouvement.credit, ecriture.datEcr, mouvement_1.compte, mouvement_1.debit, mouvement_1.credit, ecriture.datEcr, t_locataire_1.loyer, t_locataire_1.charges
FROM (t_locataire INNER JOIN (compte INNER JOIN (ecriture INNER JOIN mouvement ON ecriture.numEcr = mouvement.ecriture) ON compte.numCpte = mouvement.compte) ON t_locataire.compte_asso = mouvement.compte) INNER JOIN (t_locataire AS t_locataire_1 INNER JOIN mouvement AS mouvement_1 ON t_locataire_1.compte_asso1 = mouvement_1.compte) ON ecriture.numEcr = mouvement_1.ecriture
ORDER BY mouvement_1.compte;

J'ai effectué un état pour le rendre compte cela fonctionne pas trop mal sauf une chose :
cette requête ne prend pas les informations s'il y a qu'une écriture sur les deux.

et merci encore
Avatar
Michel__D
Bonjour,

"kikilegeni" a écrit dans le message de news:
Michel__D a écrit le 21/01/2009 à 13h23 :
> Bonjour,
>
> kikilegeni a écrit :
>> kikilegeni a écrit le 19/01/2009 à 17h33 :
>>> Bonjour,
>>> je voudrais extraire plusieurs lignes d'une table et les mettre en
colonne.
>>> je possède 4 tables.
>>> compte
>>> ecriture
>>> mouvement
>>> t_loc
>>>
>>> dans la table t_loc, j'ai 3 champs qui s'appelle 1nom, 2compt_asso,
>>> 3compt_asso1
>>> dans la table mouvement j'ai 5 champs qui s'appelle
>>> ecriture,Compte,debit,credit
>>> dans la table ecriture 3 champs, numéro,date, libellé
>>> dans la table compte, j'ai 3 champs qui s'appelle n°, intitulé,
>>> type
>>>
>>> la table ecriture est relié avec la table mouvement par le champ
>>> ecriture.numéro et mouvement.ecriture.
>>> La table compte est relié avec la table mouvement par le champ
>>> compte.n° et mouvement.compte
>>>
>>> mon problème est que je voudrais faire apparaître en même
>>> temps de la table mouvement tous les champs qui comporte le n° de la
>>> table
>>> t_loc du champ compt_asso et compt_asso1.
>>>
>>> J'arrive à le faire pour un champ ou l'autre mais pas les deux en
>>> même temps.
>>>
>>> Merci d'avance.
>>>
>> voici pour la première:nommé rq_locataire4
>> SELECT t_locataire.nom, t_locataire.prénom, t_locataire.loyer,
>> t_locataire.charges, rq_locataire.moi, rq_locataire.SommeDedebit,
>> rq_locataire.SommeDecredit, rq_locataire.mois, rq_locataire.compte
>> FROM t_locataire LEFT JOIN rq_locataire ON t_locataire.compte_asso >
>> rq_locataire.compte
>> ORDER BY rq_locataire.mois, rq_locataire.compte;
>> voici pour la deuxième : nommé rq_locataire7
>> SELECT t_locataire.nom, t_locataire.prénom, [Copie de
>> rq_locataire7].moi,
>> [Copie de rq_locataire7].SommeDedebit, [Copie de
rq_locataire7].SommeDecredit,
>> [Copie de rq_locataire7].mois, [Copie de rq_locataire7].compte
>> FROM t_locataire LEFT JOIN [Copie de rq_locataire7] ON
>> t_locataire.compte_asso1
>> = [Copie de rq_locataire7].compte
>> ORDER BY [Copie de rq_locataire7].mois, [Copie de rq_locataire7].compte;
>>
>
>
> Dans la requête [Copie de rq_locataire7] il faut faire apparaître
> le
> champ [compte_asso], ce qui donnera pour la requête finale, ceci :
>
> SELECT T.nom, T.prénom, T.loyer, T.charges,
> T1.moi, T1.SommeDedebit, T1.SommeDecredit, T1.mois, T1.compte
> T2.moi, T2.SommeDedebit, T2.SommeDecredit, T2.mois, T2.compte
> FROM rq_locataire AS T1 RIGHT JOIN
> (t_locataire AS T LEFT JOIN [Copie de rq_locataire7] AS T2
> ON T.[compte_asso1] = T2.compte And T.[compte_asso] = T2.[compte_asso])
> ON T1.compte = T.[compte_asso]
> ORDER BY T1.mois, T1.compte;
merci Michel, mais cela ne fonctionne pas.
j'arrive pas à déterminer pourquoi.
voici le message d'erreur "Microsoft Office Access ne peut pas représenter
l'expression de la jointureT.[compte_asso] = T2.[compte_asso] en mode
création."

voici le SQL de la requête "copie de rq_locataire7":

SELECT DISTINCT Format([datEcr],"mmmm") AS moi, Sum(mouvement.debit) AS
SommeDedebit, Sum(mouvement.credit) AS SommeDecredit, Month([datEcr]) AS mois,
mouvement.compte
FROM ecriture INNER JOIN (t_locataire RIGHT JOIN mouvement ON
t_locataire.compte_asso = mouvement.compte) ON ecriture.numEcr > mouvement.ecriture
GROUP BY Format([datEcr],"mmmm"), Month([datEcr]), mouvement.compte
HAVING (((mouvement.compte) Between "752000" And "752999"))
ORDER BY Month([datEcr]);

voici ta requete:
SELECT T.nom, T.prénom, T.loyer, T.charges, T1.moi, T1.SommeDedebit,
T1.SommeDecredit, T1.mois, T1.compte, T2.moi, T2.SommeDedebit, T2.SommeDecredit,
T2.mois, T2.compte
FROM rq_locataire AS T1 RIGHT JOIN (t_locataire AS T LEFT JOIN [Copie de
rq_locataire7] AS T2 ON (T.[compte_asso] = T2.[compte_asso]) AND
(T.[compte_asso1] = T2.compte)) ON T1.compte = T.[compte_asso]
ORDER BY T1.mois, T1.compte;

par contre de mon coté j'ai travaillé toute la nuit dernière et j'ai voulu
partir directement des tables pour faire une requête:

SELECT t_locataire.nom, t_locataire.prénom, mouvement.compte, mouvement.debit,
mouvement.credit, ecriture.datEcr, mouvement_1.compte, mouvement_1.debit,
mouvement_1.credit, ecriture.datEcr, t_locataire_1.loyer, t_locataire_1.charges
FROM (t_locataire INNER JOIN (compte INNER JOIN (ecriture INNER JOIN mouvement
ON ecriture.numEcr = mouvement.ecriture) ON compte.numCpte = mouvement.compte)
ON t_locataire.compte_asso = mouvement.compte) INNER JOIN (t_locataire AS
t_locataire_1 INNER JOIN mouvement AS mouvement_1 ON t_locataire_1.compte_asso1
= mouvement_1.compte) ON ecriture.numEcr = mouvement_1.ecriture
ORDER BY mouvement_1.compte;

J'ai effectué un état pour le rendre compte cela fonctionne pas trop mal sauf
une chose :
cette requête ne prend pas les informations s'il y a qu'une écriture sur les
deux.

et merci encore



Regarde si ces 2 requêtes te donne le résultat souhaité :

La 1ère requête nommé "rq_mouvement" :

SELECT T3.datEcr, T4.*
FROM ecriture AS T3 INNER JOIN mouvement AS T4 ON T3.numEcr = T4.ecriture;

Et la requête qui donne le résultat :

SELECT T1.nom, T1.[prénom],
T4.compte, T4.debit, T4.credit,
T3.datEcr,
T6.compte, T6.debit, T6.credit,
T3.datEcr, T5.loyer, T5.charges
FROM [rq_mouvement] AS T4 RIGHT JOIN ([t_locataire] AS T1 LEFT JOIN [rq_mouvement] AS T6
ON T1.[compte_asso1] = T6.compte) ON T4.compte = [T1.compte_asso]
ORDER BY T6.compte;
Avatar
Michel__D
Oups une erreur.

La 1ère requête nommé "rq_mouvement" :

SELECT T3.datEcr, T4.*
FROM ecriture AS T3 INNER JOIN mouvement AS T4 ON T3.numEcr = T4.ecriture;

Et la requête qui donne le résultat :

SELECT T1.nom, T1.[prénom],
T4.compte, T4.debit, T4.credit, T4.datEcr,
T6.compte, T6.debit, T6.credit, T6.datEcr,
T1.loyer, T1.charges
FROM [rq_mouvement] AS T4 RIGHT JOIN ([t_locataire] AS T1 LEFT JOIN [rq_mouvement] AS T6
ON T1.[compte_asso1] = T6.compte) ON T4.compte = [T1.compte_asso]
ORDER BY T6.compte;
Avatar
kikilegeni
Michel__D a écrit le 22/01/2009 à 11h15 :
Oups une erreur.

La 1ère requête nommé "rq_mouvement" :

SELECT T3.datEcr, T4.*
FROM ecriture AS T3 INNER JOIN mouvement AS T4 ON T3.numEcr = T4.ecriture;

Et la requête qui donne le résultat :

SELECT T1.nom, T1.[prénom],
T4.compte, T4.debit, T4.credit, T4.datEcr,
T6.compte, T6.debit, T6.credit, T6.datEcr,
T1.loyer, T1.charges
FROM [rq_mouvement] AS T4 RIGHT JOIN ([t_locataire] AS T1 LEFT JOIN
[rq_mouvement] AS T6
ON T1.[compte_asso1] = T6.compte) ON T4.compte = [T1.compte_asso]
ORDER BY T6.compte;


bonjour,
désolé il y a eu raté, j'ai répondu hier soir mais cela n'est pas affiché.
Bon ce n'est pas grave.

bon voilà voici la sql de "rq_mouvement":

SELECT T3.datEcr, T4.*
FROM ecriture AS T3 INNER JOIN mouvement AS T4 ON T3.numEcr = T4.ecriture;

voici la sql de "rq_michel" (provient de son auteur):

SELECT T1.nom, T1.prénom, T1.loyer, T1.charges, T4.compte, T4.debit, T4.credit, T4.datEcr, T6.compte, T6.debit, T6.credit, T6.datEcr
FROM rq_mouvement AS T4 RIGHT JOIN (t_locataire AS T1 LEFT JOIN rq_mouvement AS T6 ON T1.[compte_asso1] = T6.compte) ON T4.compte = T1.compte_asso
ORDER BY T4.compte, T4.datEcr;

j'ai du enlever les [ ] de la dernière ligne car cela ne fonctionnait pas.

par contre je me suis aperçu qu'il multiplie la T4 avec la T6.

et puis un nouveau problème vient de se greffer:

Si je veux faire un état de la requête "rq_michel"

j'ai le message d'erreur suivant :

l'assistance ne peut afficher l'aperçuavant impression de votre état, peut être parce qu'un autre utilisateur a ouvert une table source en mode exclusif. votre état sera ouvert en mode création.

quand j'essaye d'ouvrir l'état j'ai un autre message d'erreur:

le champ spécifié "T4.compte" peut désigner plusieurs tables listées dans la clause FROM de votre instruction SQL.

autre question : pourquoi vous renomme toujours les tables ?

Merci beaucoup.
Avatar
Michel__D
Bonjour,

kikilegeni a écrit :
Michel__D a écrit le 22/01/2009 à 11h15 :
Oups une erreur.

La 1ère requête nommé "rq_mouvement" :

SELECT T3.datEcr, T4.*
FROM ecriture AS T3 INNER JOIN mouvement AS T4 ON T3.numEcr = T4.ecriture;

Et la requête qui donne le résultat :

SELECT T1.nom, T1.[prénom],
T4.compte, T4.debit, T4.credit, T4.datEcr,
T6.compte, T6.debit, T6.credit, T6.datEcr,
T1.loyer, T1.charges
FROM [rq_mouvement] AS T4 RIGHT JOIN ([t_locataire] AS T1 LEFT JOIN
[rq_mouvement] AS T6
ON T1.[compte_asso1] = T6.compte) ON T4.compte = [T1.compte_asso]
ORDER BY T6.compte;


bonjour,
désolé il y a eu raté, j'ai répondu hier soir mais cela n'est pas affiché.
Bon ce n'est pas grave.

bon voilà voici la sql de "rq_mouvement":

SELECT T3.datEcr, T4.*
FROM ecriture AS T3 INNER JOIN mouvement AS T4 ON T3.numEcr = T4.ecriture;

voici la sql de "rq_michel" (provient de son auteur):

SELECT T1.nom, T1.prénom, T1.loyer, T1.charges, T4.compte, T4.debit, T4.credit,
T4.datEcr, T6.compte, T6.debit, T6.credit, T6.datEcr
FROM rq_mouvement AS T4 RIGHT JOIN (t_locataire AS T1 LEFT JOIN rq_mouvement AS
T6 ON T1.[compte_asso1] = T6.compte) ON T4.compte = T1.compte_asso
ORDER BY T4.compte, T4.datEcr;

j'ai du enlever les [ ] de la dernière ligne car cela ne fonctionnait pas.

par contre je me suis aperçu qu'il multiplie la T4 avec la T6.

et puis un nouveau problème vient de se greffer:

Si je veux faire un état de la requête "rq_michel"

j'ai le message d'erreur suivant :

l'assistance ne peut afficher l'aperçuavant impression de votre état, peut être
parce qu'un autre utilisateur a ouvert une table source en mode exclusif. votre
état sera ouvert en mode création.

quand j'essaye d'ouvrir l'état j'ai un autre message d'erreur:

le champ spécifié "T4.compte" peut désigner plusieurs tables listées dans la
clause FROM de votre instruction SQL.

autre question : pourquoi vous renomme toujours les tables ?

Merci beaucoup.



J'ai pas pu répondre hier.

Pour simplifier il faudrait une clé primaire pour identifier chaque ligne
de la table [t_locataire], ensuite faire une requête pour chaque compte
([compte_asso] et [compte_asso1]) en gardant la clé primaire et ensuite
on peut combiner le contenu des deux requêtes via une jointure sur la
clé primaire.

Et je renomme toujours les table car en réduisant l'expression, celle-ci
devient plus lisible.
1 2