1. ホーム
  2. postgresql

[解決済み] PostgreSQL 3つのテーブルからのJOINデータ

2023-06-09 07:34:18

質問

私はPostgreSQLの初心者で、クエリを作成しようとしています。何をやっているのか分かっている人にとっては簡単なことだと思いますが、私はそうではありません。)

基本的に、私は3つのテーブルを持っています。最初のテーブルには、患者に関する詳細を格納します。2番目には、患者の各画像への参照を格納します。3番目には、画像のファイルパスへのリンクを格納します。私はデータベースを設計していないので、画像ファイルテーブルがなぜ分離されているのか分かりませんが、分離されています。

私がやりたいことは、最初のテーブルからデータを選択し、2番目と3番目のテーブルからデータを結合して、結果に名前とamp; ファイルパスが含まれるようにすることです。

基本的な構造はこうです。

Table 1:
person_id | name

Table 2:
person_id | image_id

Table 3:
image_id | `path filename`

私がしたいことは、1つのクエリで、人の「名前」と画像の「パスファイル名」を取得することです。

私は、私が必要とする結合を持つ"テンプレート"スタイルの回答で満足しています。私はそれが実際のコードで書かれることを必要としません。(すなわち、私はあなたが以下のような答えを私に書くことができると考えています。 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