Bonjour à tous.
Voilà des jours que je cherche à faire une requête joignant une table et une requête avec regroupement :
- La table principale (table) est banale (une cinquantaine de champs classiques) avec comme clef le champ ID_table, sans doublon bien sûr.
- La requête (requete) n'a que deux champs : un champ table_ID identique celui de la table et un champ champ_x qui est du texte généré par une fonction rangée dans un module.
Précision importante : le champ "table_ID" de la requête peut avoir des doublons. Lorsque c'est le cas, champ_x est identique dans les deux enregistrements.
Le but est simplement d'obtenir une requête (tableetrequete) présentant tous les champs de table avec l'ajout de champ_x, et que cette requête soit sans doublons.
J'ai essayé un bête
mais dans ce cas, les doublons en provenance de requete sont conservés, ce qui fait que j'ai plein d'enregistrements en doubles et absolument identiques.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT table.*, requete.champ_x FROM table INNER JOINT requete ON table.ID_table = requete.table_ID
Le résultat est le même avec un LEFT JOINT ou RIGHT JOINT.
J'ai ensuite essayé en modifiant préalablement requete avec un regroupement GROUP BY, de manière à éviter ses doublons en amont.
Le résultat marche bien : j'ai maintenant tous les champs de table avec l'ajout de champ_x, sans doublon.
Mais on ne peut plus toucher aux données ! la requête en regroupement, bien que source d'un seul champ de la requête finale, empêche toute modification des données de table. Inutile, donc, pour le formulaire que je veux faire par la suite.
Quelqu'un aurait-il une solution ? Merci beaucoup
Partager