Données PostgreSQL JOIN de 3 tables

Je suis nouveau sur PostgreSQL et j’essaie d’obtenir une requête écrite. Je suis presque sûr que c’est facile pour quelqu’un qui sait ce qu’il fait – je ne le fais tout simplement pas! 🙂

Fondamentalement, j’ai trois tables. Dans le premier, je stocke des détails sur les patients. Dans la seconde, je stocke une référence à chaque image. Dans le troisième, je stocke le lien vers le chemin du fichier pour l’image. Je n’ai pas conçu la firebase database, donc je ne sais pas pourquoi la table des fichiers image est séparée, mais c’est le cas.

Ce que je veux pouvoir faire, c’est sélectionner les données de la première table, en joignant les données d’une deuxième puis d’une troisième table pour obtenir le nom et le chemin du fichier dans le résultat.

Donc, la structure de base est la suivante:

Table 1: person_id | name Table 2: person_id | image_id Table 3: image_id | `path filename` 

Ce que je veux faire, c’est dans une requête, prenez le nom de la personne et l’image «chemin du fichier».

Je suis heureux avec une réponse de type “template” avec la jointure dont j’ai besoin. Je n’ai pas besoin que ce soit écrit en code réel. (c.-à-d. je pense que vous pouvez juste m’écrire une réponse qui dit “SELECT table1.name, table3.pathfilename FROM JOIN … etc …”).

Merci!! John

Quelque chose comme:

 select t1.name, t2.image_id, t3.path from table1 t1 inner join table2 t2 on t1.person_id = t2.person_id inner join table3 t3 on t2.image_id=t3.image_id 

Peut-être que ce qui suit est ce que vous recherchez:

 SELECT name, pathfilename FROM table1 NATURAL JOIN table2 NATURAL JOIN table3 WHERE name = 'John';