2017-09-07 26 views
0

我試圖找到在SQL Server(腳本)的方式:比較從2個表值,併產生一個新表的差異

  1. 考慮2個表,相同的列結構
  2. 填充的共享同一個鍵的行
  3. 但其中一列中的值不同(INTEGER)
  4. 在兩個表中查找具有匹配鍵的行,並將它們進行比較以生成新行。在不同的表中,其餘列中的匹配值完全相同,唯一不匹配的列之間的值差異很大。

Ex。它在4個版本中是相同的數據庫,每個新的迭代積累了前一個版本的值,我試圖實現的是一個新的數據庫(與db1中一樣,銷售的蘋果數量是5,而在db2中,數量的蘋果銷售量是20,我需要一個新的表格,其值爲15)。

+1

添加一些示例表數據和預期的結果表 - 爲所有格式的文本還向我們展示你的當前查詢的企圖(不是圖像)。 – jarlh

+2

聽起來像一個簡單的外鍵連接,並對整數字段進行計算給我。 –

+0

你到目前爲止嘗試過什麼?請嘗試做一些事情。 – Eric

回答

0
CREATE TABLE foo (
    theKey int NOT NULL IDENTITY(1,1) PRIMARY KEY, 
    someInt int 
) 

CREATE TABLE bar (
    theKey int NOT NULL IDENTITY(1,1) PRIMARY KEY, 
    otherInt int 
) 

CREATE TABLE output (
    theKey int NOT NULL PRIMARY KEY, 
    someInt int, 
    otherInt int, 
    valueDifference int 
) 

INSERT INTO output (theKey, someInt, otherInt, valueDifference) 
SELECT 
    foo.theKey, 
    foo.someInt, 
    bar.otherInt, 
    foo.someInt - bar.otherInt AS valueDifference 
FROM 
    foo 
    INNER JOIN bar ON foo.theKey = bar.theKey 
相關問題