2016-11-10 2 views
0

UPDATEクエリによる更新された行の数に問題があります。 行が更新されると、UPDATEクエリ対テーブルFILTERは異なる行数を返します(MS ACCESS)

UPDATE t002Vyk 
INNER JOIN tZemnyPlyn ON t002Vyk.BMsID = tZemnyPlyn.[ID budovy] 
SET t002Vyk.isZemnyPlynHistoricky = Yes; 

それは言う:

私はUPDATEクエリを実行します。

qZemnyPlynUpdate rows count

私は、UPDATEクエリを実行します。 (同じ結果を出して、別のクエリを試してみました)。私はその後、唯一のフィールドisZemnyPlynHistoricky = YESにテーブルt002Vykをフィルタすると

、私だけ行を取得します。

t002FilteredOnlyOnIsZemnyPlyn

だけですべての情報を提供するためには、ここではフィールドisZemnyPlynHistorickyの設計図である:
t002VykDesignIsZemnyPlyn

(私も0/1の値、運と、数値データ型を使用してみました)

私の質問
なぜフィルタリングされたテーブルでUPDATEクエリとは異なる結果が得られますか?どのように問題を解決するには?

+1

単なる考え:最初のテーブルを2番目のテーブルに結合すると、最初のテーブルよりも_larger_の結果セットで終わることがあります。たぶんこれはあなたの観察を説明し、もしそうなら、therrは心配するものではないかもしれません。 –

+0

Tim、あなたのコメントは私を軌道に乗せました。これは 'tZemnyPlyn'テーブルに重複したIDと関係していました。それらを複数回「更新」しました。したがって違い。 –

答えて

0

ソリューション:tZemnyPlynテーブルで
、重複したIDの[ID budovy]、UPDATEクエリ結果の時間が複数回カウントされたがありました。
[ID budovy]の一意のリストを作成した後、UPDATEクエリは2701の行とそのテーブルを示しました。

Tim Biegeleisenのコメントに感謝します。

関連する問題