簡體   English   中英

Mysql PHP:如何多次連接同一張表?

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM