我的问题如下:
我有 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
*重要假设:可能有多个 ID_C 值与同一个 ID_A 相关联,因此 tableB:具有以下结构:`
| ID_B | ID_C | ID_A|
| 24 | 81 | 23 |
| 25 | 11 | 23 |
| 26 | 82 | 23 |
| 27 | 42 | 24 |
| 28 | 113 | 33 |
但是如果单个 ID_A 有多个 ID_B,它们将相互跟随。
现在,我正在编写一个 php 脚本来获取某个 ID_A 所需的字段,但它失败了,因为我的子查询返回了多行:
$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 操作)。