我们使用以下查询来连接5个表。它可以正常工作4个表并正确地给出结果,但是在添加项目表后,它会提供更多行,然后需要所有订单的项目名称。
SELECT
CMP.CMPName,
OrderHeader.ID,
OrderHeader.Date,
Customer.Name,
OrderDetail.Qty,
ItemMaster.ItemName
FROM OrderHeader
INNER JOIN CMP ON Orders.CompanyID=Company.ID
INNER JOIN Customer ON OrderHeader.CustomerID=Customer.ID
INNER JOIN OrderDetail ON OrderHeader.OrderID=OrderDetail.OrderHeaderID
INNER JOIN ItemMaster ON OrderDetail.ItemID=ItemMaster.ID;
答案 0 :(得分:2)
我认为你必须检查
的所有字段OrderDetail.ItemID
或
ItemMaster.ID;
是不同的矿石有空值。 使用空值连接两个字段会产生不可靠的结果。