Team
表具有:
ID | TEAM
--------+----------
1 | A
2 | B
``` `Result` 表具有:
fk_ID1 | fk_ID2 | RESULT
----------+-----------+-----------
1 | 2 | 5:0
2 | 1 | 2:3
如何 `Inner JOIN` 表,以获取: `(A 5:0 B) & (A 2:3 B)` ?
我的代码示例:
public function getResultList($limit, $offset) {
$query = " SELECT result_id,
t1.name name1,
t2.name name2,
team1_goals,
team2_goals,
date
FROM results
INNER JOIN team t1 ON fk_tm1_id=tm_id
INNER JOIN team t2 ON fk_tm2_id=tm_id";
$data = mysql::select($query);
return $data;
}
1条答案
按热度按时间vecaoik11#
最好把这个问题作为一个纯粹的sql问题来回答,事实确实如此。当两次或多次连接同一个表时,需要指定一个表别名。
您似乎只为列指定了别名。要为列或表分配别名,可以直接在列或表名称后面添加别名(这也可以使用,但对mysql来说不是必需的)
常见的做法是将表编号为t1、t2、t3等。
这将第一个连接别名为t1,第二个连接别名为t2,您可以在从该特定连接访问数据时使用它(选择t1.name)。