既存の SQL データベースでアプリケーションを構築する必要があり、この状況に遭遇しました。
T1
いくつかのフィールドが別のテーブル ( ) の値を参照するテーブル ( と呼びます) がありますT2
。これは基本的に 2 つのフィールドだけで構成されていId
ますName
。結果として、T2
は異なる性質と意味を持つデータを保持しますT1
。これは、それに関連するフィールドが非常に異なる種類であるためです。(これは私には珍しいデザインのようです。)
私の質問: この設計では、各フィールドにT2.Name
関連する値を取得するために結合クエリを作成する方法を教えてください。T1
編集
フィールドごとに 1 つのクエリを実行することで、必要なものを取得できます。
SELECT t2.name AS name1
FROM t1
INNER JOIN t2
ON t1.field1 = t2.id;
SELECT t2.name AS name2
FROM t1
INNER JOIN t2
ON t1.field2 = t2.id;
SELECT t2.name AS name3
FROM t1
INNER JOIN t2
ON t1.field3 = t2.id;
しかし、これはナンセンスです。では、これらすべてを 1 つのクエリにまとめるにはどうすればよいでしょうか。