我正在嘗試使用INNER JOIN對我的數據庫執行PHP PDO調用。PHP PDO select with INNER JOIN
三個加入,我想說明的是如下:
KC_Orders -- Database Table Name
--orderNumber -- Relation Field
KC_Payments -- Database Table Name
--orderNumber -- Relation Field
KC_OrderStatus -- Database Table Name
--OrderNumber -- Relation Field
我希望得到的不僅僅是雖然訂單號碼錶的詳細信息。
我的數據庫調用如下:
$sql = "SELECT * from `KC_Orders` INNER JOIN `KC_Payments` INNER JOIN `KC_OrderStatus`";
$ThreeRecentOrders = $db->query($sql);
然後在我的foreach
發言中,我有以下顯示結果。
<?php foreach($ThreeRecentOrders as $order): ?>
<?php $orderNumber = $order['orderNumber']; ?>
<tr>
<th><?php echo $orderNumber; ?></th>
<th><?php echo $order['billingFName']; ?> <?php echo $order['billingLName']; ?></th>
<th>$<?php echo number_format($order['order_total']/100,2); ?></th>
<th><?php echo $order['statusID']; ?></th>
</tr>
<?php endforeach; ?>
現在,一切正常但我只有兩個訂單在系統中,在每個數據庫中,截至目前意兩行。 3 database joins
與2 rows in each field
3x2=6
我在我的表中得到了6個結果。它正在逐行並回應結果。這顯然不是我想要的。我需要添加到數據庫調用或SQL來解決這個問題?
什麼是你參加嗎?我期望看到類似'... INNER JOIN KC_Payments USING(orderNumber)...'或類似的內容,您似乎沒有加入任何外鍵索引。 – CD001
也許如果你添加'ON'子句,如:SELECT * FROM KC_Orders o INNER JOIN KC_Payments p ON o.orderNumber = p.orderNumber ...''? –