我正在制作发票脚本,但我的查询返回我的项目多次,当我拿他们。Mysql duplecating结果
这是我的代码:
$query = " SELECT d.Quantity, d.ProductID, p.ProductName, d.UnitPrice, d.Discount
FROM customers AS c, orders AS o, order_details AS d, products AS p
WHERE o.OrderID = '10248'
AND o.OrderID = d.OrderID
AND d.ProductID = p.ProductID
";
$result = mysql_query($query);
$table = '';
while($row = mysql_fetch_assoc($result)){
$table .= '<tr>';
$table .= '<td>' . $row['Quantity'] . '</td>';
$table .= '<td>' . $row['ProductID'] . '</td>';
$table .= '<td>' . $row['ProductName'] . '</td>';
$table .= '<td>' . $row['UnitPrice'] . '</td>';
$table .= '<td>' . $row['Discount'] . '</td>';
$table .= '<td>' . (100 - $row['Discount'])/100 * $row['UnitPrice'] . '</td>';
$table .= '</tr>';
}
这是一个部分,什么返回。
Quantity ProductID ProductName UnitPrice Discount Subtotal
12 11 Queso Cabrales 14.0000 0 14
10 42 Singaporean Hokkien Fried Mee 9.8000 0 9.8
5 72 Mozzarella di Giovanni 34.8000 0 34.8
12 11 Queso Cabrales 14.0000 0 14
10 42 Singaporean Hokkien Fried Mee 9.8000 0 9.8
5 72 Mozzarella di Giovanni 34.8000 0 34.8
12 11 Queso Cabrales 14.0000 0 14
10 42 Singaporean Hokkien Fried Mee 9.8000 0 9.8
5 72 Mozzarella di Giovanni 34.8000 0 34.8
12 11 Queso Cabrales 14.0000 0 14
10 42 Singaporean Hokkien Fried Mee 9.8000 0 9.8
5 72 Mozzarella di Giovanni 34.8000 0 34.8
虽然它只能返回3个条目。
anny toughts?
了解如何连接多个表格。有多种方法可以执行连接,一种方法是将每个元素相互组合,反之亦然(交叉表或交叉连接,也是笛卡尔连接,用于缺少连接),这就是为什么你会得到那很多结果。参见[使用MySQL,加入](http://www.keithjbrown.co.uk/vworks/mysql/mysql_p5.php) – hakre 2012-02-22 14:23:46