2017-08-28 25 views
0

如果Bookings.FK_ID等於Trips.ID,我試圖獲得Bookings.Spots的總和 - 我的代碼有什麼問題? :點總數if fk_id = trip.id

我有2個表格。 表1:帶有「ID」和「MaxSpots」字段的「Trips」。 表2: 「預訂」 同場 「FK_ID」 和 「點」

$sumSpots = "SELECT SUM(Spots) FROM Bookings INNER JOIN 
Trips ON Bookings.FK_ID = Trips.ID"; 
$bookedSpots = mysql_query($sumSpots, MYSQL_ASSOC); 

FILE:https://wetransfer.com/downloads/7ec0ee4ecf91718f26804f46f84bf00b20170829113434/0682b9

林其粘貼了很多代碼看問題,好:)

+2

您需要加入旅行表。這是非常非常基本的。拿一個SQL教程。 –

+0

我實際上是,但我必須從某處開始:) – Jacob

+0

** mysql的PHP擴展已經死了** - 停止使用['mysql' PHP擴展](http://php.net/manual/en/ function.mysql-connect.php)。這是舊的,從PHP 5.5開始不推薦使用,並且在PHP 7.0中完全刪除。使用['mysqli'](http://php.net/manual/en/book.mysqli.php)或['PDO_mysql'](http://php.net/manual/en/ref.pdo-mysql。而不是。閱讀[這個問題]的答案(https://stackoverflow.com/q/12859942/4265352)以瞭解更多關於爲什麼和如何。 – axiac

回答

1

你的錯事情是你沒有在FROM或JOIN中添加Trips表。您的查詢是錯誤的,你還沒有向我們展示了表結構,所以根據我的理解,您可能需要解決您的查詢如下:

$sql = "SELECT SUM(Spots) AS SpotsSum FROM Bookings 
INNER JOIN Trips ON Bookings.FK_ID = Trips.ID"; 
$result = mysql_query($sql); 
$row = $result->fetch_assoc(); 
print $row['SpotsSum']; 

我相信它沒有爲你工作,因爲你正在返回一個沒有指定字段名稱的關聯數組,你需要給它一個別名。

+0

我有2張桌子。 表1:帶有「ID」和「MaxSpots」字段的「Trips」 表2:帶有字段「FK_ID」和「Spots」的「預訂」 – Jacob

+0

我試過以下方法,但無法工作當我回顯$ bookedSpots : $ sumSpots =「SELECT SUM(Spots)FROM Bookings INNER JOIN Trips ON Bookings.FK_ID = Trips.ID」; $ bookedSpots = mysql_query($ sumSpots,MYSQL_ASSOC); – Jacob

+0

請更新您的問題上面。添加有關表格結構和您嘗試的代碼的詳細信息。這樣其他人可以幫助你。 – Lamar