2

これが私が思いついたクエリですが、正しく機能していないようです。

UPDATE ItemDynamic
SET TaxID=8
FROM ItemDynamic
INNER JOIN Item
ON Item.ID = ItemDynamic.ItemID
WHERE Item.DateCreated>'2013-06-18' and StoreID=11 or StoreID=1 or StoreID=2 or StoreID=3

DateCreated 列は ItemDynamic にありません。この列は Item テーブルにあります。そこで、Item テーブルと ItemDynamic テーブルを結合します。問題は、複数のストアを同時に更新しようとすると、アイテム全体が更新されることです。しかし、1 つのストアのみを更新すると、正常に更新されます。何か理由はありますか?

ありがとう、

4

2 に答える 2

1

クエリにエラーがあり、OR句を丸括弧で囲む必要があります

UPDATE ItemDynamic a 
INNER JOIN Item B
ON b.ID = a.ItemID 
SET a.TaxID=8 
WHERE b.DateCreated>'2013-06-18' 
AND (b.StoreID=11 OR b.StoreID=1 OR b.StoreID=2 OR b.StoreID=3)

表の項目に想定StoreIDしています。DateCreated

于 2013-06-19T21:15:53.357 に答える