一度に異なるテーブルのデータにアクセスしようとしていますが、別のテーブルの列の値を指定して、どのテーブルからデータを取得するかを決定できるようにしたいと考えています。
次に例を示します。
テーブル A: (id, table1_id, table1_type, table2_id, table2_type)
- (1, 1, 'B_Type', 2, 'E_Type')
- (2, 2, 'B_Type', 3, 'D_Type')
- (3, 1, 'C_Type', 2, 'B_Type')
テーブル B: (id, some_values):
- (1、「何か」)
- (2、「その他」)
表 C、D、および E は B といくらか似ています。
だから、私は次のことをしたいと思います(疑似javascriptで行います):
result = db.Query("SELECT * from A WHERE [condition] LIMIT 1")
table1 = getTable(result.table1_type) // E.g. 'B' if 'B_Type'
table2 = getTable(result.table2_type)
new_results = db.Query("SELECT * from " + table1 + ", " + table2 + " WHERE [condition]")
この方法は機能しますが、A の table_type 列に応じて条件付きでテーブルを選択する方法があることを期待していました。
どんな助けでも大歓迎です。