3表如何將這3個表在一個單一的查詢在PHP?當我使用這個查詢時,我從匹配和運動中得到值爲空。但是,當我將最後一個權限連接更改爲左連接時,計劃的值變爲空。我怎樣才能解決這個問題?謝謝。結合在一個單一的選擇查詢在php
PHP
<?php
$db_name = "atfest_db";
$mysql_user = "root";
$mysql_pass = "";
$server_name = "localhost";
$sql = "SELECT teamone,teamtwo,s_name,start,end,venue FROM `sport` right JOIN `matches` ON `matches`.`s_id` = `sport`.`s_id` right JOIN `schedule` ON `schedule`.`m_id` = `matches`.`m_id`";
$con = mysqli_connect($server_name,$mysql_user,$mysql_pass,$db_name);
$result = mysqli_query($con,$sql);
$response = array();
while($row=mysqli_fetch_array($result))
{
array_push($response, array("teamone"=>$row[0], "teamtwo"=>$row[1],
"s_name"=>$row[2]));
}
echo json_encode (array("schedule_response"=>$response));
mysqli_close($con);
?>
體育表被連接到匹配b S_ID而匹配表連接通過M_ID調度表。
這是輸出我得到
{"schedule_response":[{"start":null,"end":null,"venue":null,"teamone":
"hehe","teamtwo":"haha","s_name":"Soccer"}
我需要的是開始,結束和場地從計劃表中獲取值。事情是這樣的
{"schedule_response":[{"start":2016-11-30 00:00:00,"end":2016-12-01
00:00:00,"venue":aaaaaa,"teamone":"hehe","teamtwo":"haha","s_name":"Soccer"},
Right join?人們仍然使用這個?只有'INNER JOIN'用於匹配,或者當右(位置)表是前導表時使用'RIGHT JOIN'。 – sagi
你的主桌是什麼?體育或時間表還是比賽?主桌是哪張桌子? – Viki888
右連接是罕見的。只是說';-) – Strawberry