[英]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.