2015-10-08 45 views
0

我有2個表,幾乎相同的屬性。比方說,我有這些屬性。如何合併兩個表格與計算MS Access?

Item  Quantity  Unit Net Price  Total Net Price 
asd   2     22     44 

而且,在表2:

Item  Quantity  Unit Gross Price 
asd   1     20 

你可以看到每個表的差異。

Unit Net Price = Unit Gross Price * 1.10

Total Net Price = Unit Net Price * Quantity

我需要插入表2至表1,並在同一時間Unit Net PriceTotal Net Price將被計算。我無法爲此做出正確的查詢語句。到目前爲止,我正在處理這個聲明。

"INSERT INTO [table1] ([Item], [Quantity], [Unit Net Price], [Total Net Price]) SELECT * FROM [table2] WHERE [Unit Net Price] = [Unit Gross Price] * 1.10 AND [Total Net Price] = [Quantity] * [Total Net Price]" 

我使用OleDBCommand此查詢。任何人都可以爲我提供正確的查詢語句或適當的解決方案嗎?

+0

看看這個方法,它是'DataTable'對象'MergeAll'有關於如何輕鬆地做到這一點 – MethodMan

回答

1

對於SQL解決方案使用。
計算進入SELECT子句,而不是WHERE子句。

還要注意的是,你不能用你剛纔計算的字段([單位淨價])來計算另一個字段([總淨價]),所有的計算必須基於從表2場。

INSERT INTO [table1] ([Item], [Quantity], [Unit Net Price], [Total Net Price]) 
SELECT 
    [Item], 
    [Quantity], 
    [Unit Gross Price] * 1.10 AS [Unit Net Price], 
    [Quantity] * [Unit Gross Price] * 1.10 AS [Total Net Price] 
FROM [table2] 
+0

謝謝主席先生大量實例的一部分!這工作正常。我在更新表格對象時遇到了一些麻煩。值保存在數據庫中,但數據網格未更新。我會盡力解決這個問題,再次感謝。 – Rom