【发布时间】:2020-06-05 13:23:28
【问题描述】:
如果你运行这个:
SELECT o.orderid,suppliername,p.productname
FROM Suppliers s
JOIN Orders o
ON o.shipperid = s.supplierid
JOIN OrderDetails od
ON od.orderid = o.orderid
JOIN Products p
ON p.productid = od.productid
开启https://www.w3schools.com/sql/trymysql.asp?filename=trysql_func_mysql_count
您会得到结果,其中每个订单 ID 都有一组包含产品名称和供应商名称的行。 现在,有趣的是,对于每个订单作为一个整体(比如订单 10300 的一组两行) 总是有相同的供应商名称。
但这不是真的。当您查看“产品”表时,您会发现例如对于 ID 为 66 和 68 的产品,即订单 10300 中包含的产品,注册了两个不同的供应商 ID。 2 和 8。 这些解析为supplieres 表上的两个不同的供应商名称。
这是为什么呢?在我看来,这是一个相当简单的查询,我没想到会遇到任何问题。但是在这里,表格中呈现给我的数据和查询返回的数据明显不同。 是我遗漏了什么还是他们的网站/数据库刚刚损坏?
【问题讨论】: