2010-07-27 86 views
2

我有如下表所示的數據用於獲取一行值與另一行值之差的SQL查詢

|商品編號|日期|價值|
--------------------------
| 101 | 201002 | 5 |
| 102 | 201002 | 3 |
| 201 | 201002 | 7 |
| 202 | 201002 | 2 |

| 101 | 201003 | 6 |
| 102 | 201003 | 3 |
| 201 | 201003 | 7 |
| 202 | 201003 | 1 |

結果預計
|商品編號|日期|價值|
--------------------------
| 100 | 201002 | 2 |
| 200 | 201002 | 5 |
| 100 | 201003 | 3 |
| 200 | 201003 | 6 |

抱歉的格式。我現在重新格式化了它。我試圖在日期201002之間找到101和102之間的差值。 這是可能的。任何幫助是極大的讚賞。

+0

你能重新格式化的代碼標記,以便它是可讀的? – JNK 2010-07-27 14:16:31

+0

現在確定它是可讀的,你能解釋你想運行的功能嗎?你是從201減去101和202中的102嗎? – JNK 2010-07-27 14:22:58

+0

你想俱樂部兩排,結果一排是兩排不同嗎? – 2010-07-27 14:25:23

回答

1

使用自聯接:

SELECT 
    T1.ItemNo - 1 AS ItemNo, 
    T1.Date, 
    T1.Value - T2.Value AS Value 
FROM table1 T1 
JOIN table1 T2 
ON T1.Date = T2.Date 
AND T1.ItemNo + 1 = T2.ItemNo 
+0

小編輯 - 應該是「t1.value - t2.value as value」 - 減法是錯誤的。 – 2010-07-27 14:33:49

+0

謝謝你們......這就是我需要的...... – fooman 2010-07-27 15:04:29

+0

@ Neil Moss:謝謝。固定。 – 2010-07-27 16:53:24

相關問題