1
我試圖找到一種方法來對一些數據,我導入到某種代理鍵變換自然鍵。Sql Server的改造自然鍵進入代理鍵
例子:
說我有一個表稱爲OrderFact
持有的所有關於我的訂單信息:
CREATE TABLE OrderFact
(
Id INT IDENTITY PRIMARY KEY
,OrderId INT NOT NULL
,Amount INT NOT NULL
,Cost MONEY NOT NULL
,SaleDate DATE NOT NULL
);
GO
INSERT INTO OrderFact (OrderId, Amount, Cost, SaleDate)
VALUES (1, 2, 12.00, '1/1/2012'), (3, 1, 6.00, '12/29/2011'), (4, 5, 1.00, '1/1/2012');
現在我得到的所有從POS系統,我的訂單數據從一些廠商,所以我臨時表是這樣的:
CREATE TABLE OrderStaging
(
OrderId INT
,Vendor INT
,Amount INT
,Cost MONEY
,SaleDate DATE
);
GO
INSERT INTO OrderStaging (OrderId, Vendor, Amount, Cost, SaleDate)
VALUES (1, 1, 2, 12.00, '1/1/2012'), (3, 2, 1, 6.00, '12/29/2011'), (4, 1, 5, 1.00, '1/1/2012');
現在我不關心誰是放置訂單,但我想跟蹤哪些訂單在同一天由同一個供應商處理,因爲它們被算作爲我申請特別折扣的Bulk Order
。
有沒有一種辦法可以構建數據庫,所以我可以跟蹤哪些訂單批量訂單有效轉化的Vendor
,SaleDate
自然鍵變成某種代理鍵,這樣我就可以查找OrderFact.Id
反對呢?
如何將VendorId添加到OrderFact表中? – Asdfg 2013-02-08 19:04:37
@Asdfg了'VendorId'是不是在告訴真的可靠哪些訂單屬於哪一家廠商的,所以我想這可能是更容易只是組訂單防止出現不一致。 – Romoku 2013-02-08 19:07:13
您可能想要創建一個新表來映射供應商ID並使用它。 – Asdfg 2013-02-08 19:09:23