2017-10-05 1 views
0

私は在庫調整の多くのデータを持っています。アクセス:1つのフィールドの値が重複し、別のフィールドの値が矛盾するレコードが見つかりました

私は£0にネットするすべてのレコードを見つける必要があります。

複数の場所からのものです。

は、私はこのようなデータを持っている:

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

私はまた、そのコードを調整した各店舗に固有の値を作成するために、店舗コードと製品コードをconcatsフィールドを持っています。 I上記のデータから、

は、任意の助けを事前にこれらのレコードのみ

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条件」を追加して)フィルタされたレコードはフィルタリングされますが、ネット値計算はフィルタされません。 –

+0

私は店舗コードのインデックスを作成します。 –

関連する問題