/ / Warum erhalte ich mehr Zeilen, als ich beim Verknüpfen von 5 Tabellen erwarte? - SQL, SQL-Server, SQL-Server-2008, TSQL, Join

Warum bekomme ich mehr Zeilen, die ich erwarte, wenn ich 5 Tabellen beitrete? - SQL, SQL-Server, SQL-Server-2008, Tsql, Join

Wir verwenden die folgende Abfrage, um 5 Tabellen zu verknüpfen. Bis zu 4 Tabellen funktionieren einwandfrei und das Ergebnis wird korrekt angezeigt. Nach dem Hinzufügen der Artikeltabelle werden jedoch mehr Zeilen angezeigt, als erforderlich sind, da der Artikelname für alle Bestellungen verwendet wird.

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;

Antworten:

2 für die Antwort № 1

Ich denke, Sie müssen überprüfen, ob alle Felder von

OrderDetail.ItemID

oder

ItemMaster.ID;

sind verschieden oder haben leere Werte. Das Verbinden zweier Felder mit leeren Werten führt zu nicht zuverlässigen Ergebnissen.