我是PostgreSQL的新手,正在尝试编写查询。我敢肯定,对于知道他们在做什么的人来说这很容易-我只是不知道! :)
基本上我有三个表。首先,我存储有关患者的详细信息。在第二篇中,我存储了对它们每个图像的引用。在第三部分中,我存储了指向图像文件路径的链接。我没有设计数据库,所以我不确定为什么要分离图像文件表,但确实如此。
[我想做的是从第一个表中选择数据,从第二个表至第三个表中加入数据,因此我在结果中得到了名称和文件路径。
所以基本结构是:
Table 1:
person_id | name
Table 2:
person_id | image_id
Table 3:
image_id | `path filename`
我想做的是在一个查询中,抓住那个人的'名字'和图像'路径文件名'。
我对所需的联接具有“模板”样式的答案感到满意。我不需要用实际代码编写它。 (即,我认为您可以给我写一个回答SELECT table1.name, table3.pathfilename FROM JOIN ... etc...
)。
类似:
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
也许以下是您正在寻找的内容:
SELECT name, pathfilename
FROM table1
NATURAL JOIN table2
NATURAL JOIN table3
WHERE name = 'John';