【发布时间】:2013-01-31 02:20:48
【问题描述】:
我的问题如下:
我有 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 操作)。
【问题讨论】:
标签: php mysql sql database join