我有一個與MAS200數據庫異步工作的Access 2007數據庫。由於各種辦公室政策和繁文tape節,即使ODBC變得容易,我也無法訪問MAS200數據,並且必須將MAS200中的數據轉儲導入到Access中。由於這一點以及報告的運行方式,我偶爾會在轉儲中重複數據。沒有Dupes的表合併
我的解決方案是有一個數據表和一個DUMP表。現在我需要找到正確的查詢來檢查在導入前是否存在來自DUMP的行。
兩個表是這樣的,加上其中的受騙者和轉儲邏輯後填入手動幾個領域做:
DATA ID/DUMP ID
InvoiceDate
InvoiceNumber
CompanyID
Product
Description
SalespersonID
Quantity
Cost
Price
我的假設是,我可以使用下面的查詢,但它不」 t似乎工作。
INSERT INTO tblDATA(InvoiceDate, InvoiceNumber, CompanyID, Product, Description, SalespersonID, Quantity, Cost, Price)
SELECT tblDUMP(InvoiceDate, InvoiceNumber, CompanyID, Product, Description, SalespersonID, Quantity, Cost, Price)
WHERE tblDATA.InvoiceNumber != tblDUMP.InvoiceNumber AND tblDATA.Product != tblDUMP.Product AND tblDATA.Quantity != tblDUMP.Quantity
你可以修復我的代碼或給我一個更好的路徑嗎?
編輯!
自我第一次發佈此問題以來,我的數據庫發生了一些變化。我正在查看糾正的查詢是:
INSERT INTO tblSold(InvoiceDate, Invoice, CompanyID, Product, Description, Salesperson, Quantity, Cost, Price)
SELECT tblNewData.InvoiceDate, tblNewData.Invoice, tblNewData.CompanyID, tblNewData.Product, tblNewData.Description, tblNewData.Salesperson, tblNewData.Quantity, tblNewData.Cost, tblNewData.Price
FROM tblNewData FULL OUTER JOIN tblSold ON tblSold.InvoiceNumber = tblNewData.InvoiceNumber AND tblSold.Product = tblNewData.Product AND tblSold.Quantity = tblNewData.Quantity
WHERE tblSold.InvoiceNumber IS NULL AND tblSold.Product IS NULL AND tblSold.Quantity IS NULL