2017-04-24 207 views
1
| Fixture_ID | League_ID | Home_Team | Away_Team 
|   1 |   1 |   1 |   2 
|   2 |   1 |   2 |   3 
|   3 |   1 |   3 |   1 

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

| 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 

如何加入表只顯示還沒有結果inputed燈具,但輸出的當顯示燈具時(在下拉列表中),實際的球隊名稱(球隊A v球隊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>'; 
} 

?> 

回答

0

你的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; 
+0

你的答案就足夠了,沒必要重寫一遍吧:) –

+0

謝謝sooooo多! – H1ggsy

+0

@Sam Higgs:請將我的答案標記爲正確的答案(即使沒有其他答案可用),並且如果您已經允許,請將其取消。謝謝! – GreenTurtle

相關問題