[英]Mysql php: How to join same table multiple times?
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;
}
最好仅作为一个SQL问题来回答这个问题。 当连接同一张表两次或更多次时,您需要分配一个表别名。
您似乎只为该列分配别名。 要将别名分配给列或表,您可以在列或表名之后直接添加别名(也可以使用AS,但对于MySQL来说不是必需的)
常见的做法是将表编号为t1,t2,t3等。
SELECT t1.name name1, t2.name name2 FROM ...
INNER JOIN team_table t1 ON ...
INNER JOIN team_table t2 ON ...
这将第一个连接的别名命名为t1,将第二个连接的别名命名为t2,在从该特定连接(SELECT t1.name)访问数据时将使用它们。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.