私はちょっと変わったシナリオを持っています。私はその許可を得ていないので、データベース構造を変更することはできません。問題のために、私は3つのテーブルこのシナリオでは、複数のmysqlテーブルからデータを選択する方法はありますか?
表1-
id(int) | name(varchar) | link_id(int) | link_to(tinyint)
..............................................................
1 | value1 | 1 | 2
2 | value2 | 3 | 2
3 | value3 | 1 | 3
4 | value4 | 2 | 3
5 | value5 | 3 | 3
テーブル2-
id(int) | data(varchar)
............................
1 | some1
2 | some2
3 | some3
テーブル3-
id(int) | data(varchar)
............................
1 | another1
2 | another2
3 | another3
は、今私が説明しましょう:table 1
に、link_id
はtable 2
またはtable 3
のいずれかのid
フィールドであり、それは表2または3
にリンクされているかどうかlink_to
状態は今、私はそのようなすべての3つのテーブルからの組み合わされたデータをフェッチする必要があります各name
フィールドのtable 1
には、その行のlink_idフィールドとlink_toフィールドで定義されている正しいテーブルのdata
フィールドがあります。
これを達成するためのmysqlクエリはありますか?