私が持っているテーブルの1つのビューを作成しようとしています。ビュー内の列の1のために、私は私が持っているテーブルから値を読み取るしようとしています:何らかの条件に基づいて複数のテーブルからカラム値を読み込む -
表A:
id b_id c_id d_id
1 1
2 1
3 1
表B:
id code
1 64
表C:
id code
1 98
表D:
id code
1 26
上記の表では、AはテーブルBとC(b_idとc_id)に対する2つの外部キー参照をそれぞれ持つメインテーブルです。表Aの各行について、2つの参照のうちの1つ(b_idまたはc_id)のみが取り込まれます。
私のタスクは、テーブルAのためのビューを作成することです、次の列がありますされ、V_Aを言う:
ビューV_A:
code code_table
64 B
98 C
26 D
上記のビューでは、私が最初に確認する必要があります表Aの各行は、外部キー参照のうちのどの列に「列」のコードを読み込まなければならないかに基づいて作成され、「コード表」の列には「コード」列が挿入されます。
私は簡単なビューを作成することができましたが、これは私にとっては少し難解です。私はのケースを使うことができるかどうかをチェックしていました...と同じですが、ちょっと複雑になった点の後に。私はのinformation_schemaテーブルからポストグルのテーブル名を読むこともできます。だから私は解決策のビットと断片を持っているが、それをすべて一緒にする方法を理解していない。
誰かが正しい方向に向かうことができますか?
ありがとうございます!あなたが一つのテーブルいっぱいまたはその他のいずれかを持っている場合にのみ、それが動作します。もちろん、
おかげで、 2つのテーブルを読み込みます。たとえば、2つ以上のテーブルに対して2つ以上の外部キー参照があるとします。 –
あなたはビューをドロップして別のテーブルを作成します - テーブルを追加するには –
しかし、あなたの答えは2つの子テーブルが2つある場合にのみ有効です。質問を編集しました。 –