私は次の見解を持っています:
SELECT t.CompanyCode, t.FlatFileName, t.RecordNumber, t.Status, t.Branch, t.SalesMonthYear, t.SalesCashOrLimboCode, t.PageNumber, t.Driver, t.Truck,
t.CommonProductCode, t.CashCharge, t.SpecialFunction, t.ProductCode, t.UnitOfEntry, t.TransactionBranch, t.AccountNumber, t.ReferenceNumber, t.TransactionDate,
t.PercentFullOrWhenDueCode, t.Quantity, t.DeliveryAccountNumberForTankRentals, t.Amount, t.SalesTax, t.ProductCode2Amount, t.TankSerialNumber, t.SalesMonth,
t.TaxCode, t.SubjectToTax, t.SalesTaxRate, t.ExiseTaxRate, t.FrankHasntDecidedWhatThisFieldIs_ProbablyCentury, t.OriginalSalesMonth, t.AutoCharge,
t.ProductCode2, t.ProductCode2SpecialFunction, t.DiscountCode, t.DiscountRate, t.DiscountDays, t.Century, t.TRFRPD, t.OpenItemAmountPaid,
t.OpenItemReferenceNumber, t.InvoiceFlag, t.InvoiceNumber, t.Time, t.GasQuantity, t.AnodeReading, t.Reading, t.Reason, t.InventorySerialNumber, t.SName,
t.ErrorCode, t.MasterBillingBranchAccountNumber, t.LeaseOnFile, t.PuchaseOrderNumber, t.BillOfLaden, t.Latitude, t.Longitude, t.ContractGasPrice, t.Balance,
t.DeliveryAccount, t.BranchAccountNumber, t.LineNumber, t.DateTimeEntered, t.UserThatEntered, t.WorkstationThatEntered, t.YearMonthDayPosted,
t.HourMinutePosted, t.UserThatPosted, t.WorkstationThatPosted, t.CreditCardNumber, t.CreditCardExperationDate, t.CreditViolation, t.TransactionId, t.CorporationId,
t.IsUpdated, t.IsAdded, t.ClearUpdateAndAdded, p.Description
FROM Company.Product AS p LEFT OUTER JOIN
Company.[Transaction] AS t ON p.ProductCode = t.ProductCode AND p.CorporationId = t.CorporationId
私が達成しようとしている主なことは、製品テーブルから製品の説明を取得し、それをトランザクションテーブルに追加することです。ProductCodeに基づいている必要があります。
各トランザクションを1回だけ取得する必要がありますが、各トランザクションの複数のコピーを取得しています。それぞれの企業に製品が存在することを知っているので、それを見たからだと思いますか?
このウェブサイトから、LEFTOUTERJOINを使用すると書かれています。
この結合は、左側のテーブルのすべての行を、右側のテーブルの一致する行と一緒に返します。右側のテーブルに一致する列がない場合は、NULL値を返します。
説明にnullが含まれていないので、何が間違っているのかわかりません。