/ / मुझे 5 पंक्तियों में शामिल होने पर अधिक पंक्तियाँ क्यों मिल रही हैं जिनकी मुझे उम्मीद है? - sql, sql-server, sql-server-2008, tsql, शामिल हों

मुझे 5 पंक्तियों में शामिल होने पर और अधिक पंक्तियां क्यों मिल रही हैं? - एसक्यूएल, एसक्यूएल-सर्वर, एसक्यूएल-सर्वर -2008, tsql, शामिल हों

हम 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;

उत्तर:

जवाब के लिए 2 № 1

मुझे लगता है कि अगर आप के सभी क्षेत्रों की जाँच करनी है

OrderDetail.ItemID

या

ItemMaster.ID;

अलग-अलग अयस्क में खाली मान होते हैं। खाली मूल्यों के साथ दो क्षेत्रों में शामिल होने से गैर-विश्वसनीय परिणाम उत्पन्न होते हैं।