私の問題は次のとおりです。
コンテンツを含む3つのテーブルがあります。
tableA:|ID_A|field1|field2|field3| => base table
tableB:|ID_B | ID_C |ID_A| => Mapping Table
tableC:|ID_C |FieldToGet| => Additional info field table
*重要な前提条件:tableB:の構造が次のように、同じID_Aに関連付けられたID_Cの値が複数ある可能性があります。`
| ID_B | ID_C | ID_A|
| 24 | 81 | 23 |
| 25 | 11 | 23 |
| 26 | 82 | 23 |
| 27 | 42 | 24 |
| 28 | 113 | 33 |
ただし、1つのID_Aに対して複数のID_Bが存在する場合、それらは相互にフォローします。
現在、特定のID_Aに必要なファイルをフェッチするphpスクリプトを作成していますが、サブクエリが複数の行を返すため失敗します。
$q = $this->dao->prepare('SELECT FieldToGet FROM table3 WHERE ID_C = ( SELECT ID_C FROM table2 WHERE ID_A =$SOME_ID_A )');
私は、列FieldToGet(私の現在の試み)からの結果のみをフェッチするソリューション、または列FieldToGet(JOIN操作の使用方法がわからない)を使用してベーステーブル全体を結合するソリューションのいずれかを探しています。