Im folgenden Code, wenn ich ausführe ich bekomme 20 Datensatz (Hinweis Join mit Tabelle TranslationMaster ist kommentiert), aber wenn ich mehr mit TranslationMaster schließe ich bekomme 23 Datensätze. Im Idealfall sollte ich 20 Datensatz mit LEFT JOINWarum mehr Datensätze mit LINKEN JOIN
erhaltenSELECT
RecChainId=t.ChainID,
RecSupplierId=t.SupplierID,
RecTranstypeId=rec.TransactionTypeID,
RecSupplierInvoiceNumber=rec.SupplierInvoiceNumber,
RecProductDescReport=rec.ProductDescriptionReported,
RecRawProdIdentifier=rec.RawProductIdentifier,
RecUPC=rec.UPC,
RecProductId=rec.ProductID,
RecStoreId=rec.StoreID
into #tmpSTRecData
from #tmpRecData t
Inner join dbo.StoreTransactions AS rec WITH (NOLOCK)
on rec.ChainID=T.ChainID and rec.SupplierID=T.SupplierID
and rec.StoreID=T.StoreID and rec.SaleDateTime =T.InvoiceDate
and rec.SupplierInvoiceNumber=T.InvoiceNumber AND rec.TransactionTypeID = 32
INNER JOIN JobProcesses AS jp
ON jp.ProcessID = rec.ProcessID AND jp.JobRunningID = 17
--LEFT JOIN TranslationMaster tm
--ON rec.UPC=tm.TranslationCriteria2
where rec.SupplierInvoiceNumber='000377647'
Auch in einer Tabelle habe ich 17 aufnehmen und in einer anderen Tabelle habe ich 7 aufnehmen, wenn ich sie LEFT JOIN ich 119 (17x7) Aufzeichnungen.