PHP/MySQL 从选择中复制值

标签 php mysql select

我正在运行这个查询

$sql6 = "SELECT RECIPE.Price, RECIPE.Name FROM ORDERRECI, ORDERS, RECIPE WHERE ORDERRECI.OrderID = $orderID AND ORDERRECI.RecipeID = RECIPE.RecipeID";        
$results = mysqli_query($con, $sql6);
while ($row=mysqli_fetch_assoc($results))
{
    $calcC+= $row['Price'];
    echo $calcC.$row['Name']."<br />";
}
return $calcC;

查询运行良好,我得到了正确的值,但我得到了 9 次。(我通过回显检查)。我检查了数据库,它们只在那里一次。我尝试使用 Distinct 但因为客户可以多次选择同一面,他们会得到不准确的结果(经过测试。任何人都可以解释为什么。会使用 join 帮助。我的老师喜欢 where(不知道为什么)但这就是我使用的原因它
编辑: 我的 Recipe 和 Orders 是多对多的关系,ORDERRECI 是引用表。我正在尝试计算订单的总成本。我刚刚尝试了 inner join 但它仍然重复,这次它重复了 14 次

最佳答案

FROM ORDERRECI, ORDERS, RECIPE在这里,您正在对 3 个表进行笛卡尔积,这意味着,每个表中的每一行都将与 FROM 中每个其他表中的每一行配对。列表。我不知道您的查询目标是什么,但这就是正在发生的事情。

关于PHP/MySQL 从选择中复制值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23597196/

相关文章:

php - 函数式编程练习

php - Laravel 5 包的异常处理程序

php - 比较某个字段的MD5结果为NULL

php - 为 MySQL 构建一个批量查询插入每 1000 个项目

mysql - 使用选择结果并进行比较

postgresql - 在 PostgreSQL 查询中返回超过 24 小时

php - Xampp 上的 ZMQ (Windows)

php - MySQL价格字段插入$和逗号

mysql - SQL Server 转储到 MySQL

javascript - 具有过滤功能的 HTML 和 javascript <select> 标签