2017-10-05 44 views
0

因此,我有很多數據是庫存調整,一些是收益,一些是虧損。訪問:查找記錄,其中一個字段中的重複值和另一個字段中的相反值發現

我需要找到所有的記錄淨£0。

他們來自多個地點。

我的數據是這樣的:

Store Code  Product Code. Adjust Cost 
AA1     12345.    £20 
AA1     12345.   -£20 
AA1.     12345.    £40 
AAB     45567.    £14 
AAB     43256.   -£14 

我也有concats的代碼和產品代碼,以創造獨特的價值,每個已調整該代碼存儲的字段。

從上面我的數據將被期待事先只選擇這些記錄

AA1     12345.    £20 
AA1     12345.    -£20 

感謝您的幫助。

+0

你試過'VALUE1 + VALUE2 = 0'? –

回答

1

這應該做的伎倆:

SELECT * FROM MyTable t 
WHERE (SELECT Sum(i.[Adjust Cost]) FROM MyTable i WHERE i.[Store Code] = t.[Store Code]) = 0 
+0

這也適用於它!但是,如何通過過濾表中的其他幾個字段來刪除一些記錄,這非常緩慢?像產品類別或刪除任何已經是£0的東西?謝謝! –

+0

如果速度很慢,請確保'[Store Code]'已編入索引,這可以節省大量時間。如果你想添加過濾器,那真的取決於你的意圖。在子查詢(在括號之間)中進行篩選會導致一些記錄從淨值計算中排除,在外部查詢中進行篩選(在底部附加'WHERE condition')過濾器返回的記錄,但不是淨值計算 –

+0

謝謝。我將索引商店代碼。 –

相關問題