developer tip

3 개 테이블의 PostgreSQL JOIN 데이터

optionbox 2020. 12. 29. 06:58
반응형

3 개 테이블의 PostgreSQL JOIN 데이터


저는 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';

참조 URL : https://stackoverflow.com/questions/15799556/postgresql-join-data-from-3-tables

반응형