簡體   English   中英

MySQL PHP ID在一個表中而不是另一個表中

[英]MySQL PHP ID in one table and not another

| Fixture_ID | League_ID | Home_Team | Away_Team 
|          1 |         1 |         1 |         2 
|          2 |         1 |         2 |         3 
|          3 |         1 |         3 |         1 

| Result_ID | Fixture_ID | Home_Goals | Away_Goals 
|         1 |          1 |          2 |          0

| Team_ID | Team_Name   |
|       1 | Team A  
|       2 | Team B      
|       3 | Team C 

我如何加入表格以僅顯示未輸入結果的燈具,但在顯示燈具時(在下拉列表中)輸出實際的團隊名稱(Team A v Team B)?

以下代碼適用於輸出所有燈具:

echo '<td> <select name ="fixture_id">';    

// TRY TO SHOW FIXTURES WITH NO RESULTS
$stmt = $pdo->prepare('SELECT  f.*, t1.Team_Name AS Home, t2.Team_Name AS Away
                        FROM Fixture        f
                        INNER JOIN Team     t1 ON f.Home_Team = t1.Team_ID
                        INNER JOIN Team     t2 ON f.Away_Team = t2.Team_ID');


$stmt->execute();
foreach ($stmt as $row) {
    echo '<option>' . $row['Home'] . ' v ' .  $row['Away'] . '</option>';
}  

?>  

您的SQL應如下所示:

SELECT  f.*, t1.Team_Name AS Home, t2.Team_Name AS Away
FROM Fixture        f
INNER JOIN Team     t1 ON f.Home_Team = t1.Team_ID
INNER JOIN Team     t2 ON f.Away_Team = t2.Team_ID
LEFT JOIN Result    r ON f.Fixture_ID = r.Fixture_ID
WHERE r.id IS NULL;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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