Bonjour,
J'essaie sans succès de joindre 2 tables, une table de clients et une de compléments, ces tables sont reliées par le numéro client :
Un client peut avoir plusieurs lignes identiques associées, à l'exception du numéro de téléphone qui peut être de plusieurs types différents (Fax, Domicile, Mobile…).
Je souhaite lister :
- tous les clients (l'intégralité de la table Clients)
- s'il y a une correspondance avec la table Complements, associer leur adresse et :
--------- s'ils disposent d'un numéro de Mobile afficher le numéro de Mobile seul et pas les autres lignes
--------- sinon s'ils disposent d'un numéro de Domicile afficher le numéro de Domicile et pas les autres lignes
--------- sinon (pas de numéro de téléphone du tout ou pas de numéro valide (autre que 'Mobile' ou 'Domicile')) n'afficher que l'adresse et une valeur par défaut pour le numéro de téléphone (NULL ou 'N' ou 'Non', à définir)
- sinon (si pas de correspondance avec la table Complements), les valeurs 'Adresse', 'Type_telephone' et 'Telephone' ressortent à 'NULL' par le LEFT JOIN
J'ai mis en vert les infos à afficher selon les différents cas de figure :
On voit que le clients 170 n'a aucune correspondance dans la table des Complements.
Et voici ce que j'attends en sélection finale :
Ce dont je suis plus ou moins certain est que je dois passer par un 'Clients LEFT JOIN Complements' dans la mesure où je restitue les clients même s'ils n'ont aucune adresse ou numéro de téléphone.
Pour le reste je ne sais pas si je peux faire ce que je veux faire dans un LEFT JOIN ou si je dois passer par une sous-requête et à ce moment comment la mettre en place. Je suis ouvert à toute bonne idée
Merci beaucoup si vous pouvez m'aider, je me prends bien la tête sur cette problématique.
C. Tobini
Partager