2017-10-24 8 views
0

が私のクエリです...アップデート - 私はこのクエリを実行すると、ここではすべて同じ値を返します

UPDATE ComputerProperties 
    SET ServiceTag = SerialNumber 
    FROM (ProductProperties RIGHT JOIN LeafNode ON ln.AID = pp.PID AND 
    ProductCode = 'AMT') 
    LEFT JOIN CustomProps ON PID = pp.AID 

テーブルは更新されますが、のSerialNumberは、それぞれに同じです記録。私は明らかに何かが欠けている。どんなポインタもいつものように大きく評価されます。

+1

あなたはどのデータベースを使用していますか?それに応じてタグを付けてください。 –

+1

どのRDBMSを使用していますか?あなたの構文は正しいですか?以前にそのように構造化されたクエリは見たことがありません。別名ppとlnを使っているようですが、それらを定義していないようです。 –

答えて

1

ComputerPropertiesと他の表の間にリンクがありません。したがって、すべての行はすべての一致する値で更新されています。 FROMのテーブルが空であるか、1つの行しかない場合を除き、テーブルごとに複数の更新を実行しています。

使用しているデータベースは不明ですが、適切な条件を追加する必要があります(FROMまたはWHERE句のいずれか)。

また、外部結合を再考する必要があると思います。彼らはおそらく必要ではありません。さらに、左右の結合を混在させることで、クエリの実行が非常に難しくなります。

関連する問題