2017-02-01 13 views
0

別のテーブルT2からSQLクエリの結果を数えてテーブルT1を更新しようとしています。別のテーブルの結果を数えてテーブルを更新する

これは私が思い付いたが、動作していないようクエリです:

UPDATE T1 set Stock = (select count (ID_Item) 

FROM T2, T1 

WHERE T2.ID_Product=T1.ParentSKU AND 
    T2.Name='' AND 
    T2.Returned='' 

私は、それはすべきではない知っているにもかかわらず、結果として0を取得しています。 助けがあれば助かります。

答えて

1

正しい構文は次のとおりです。

UPDATE T1 
    SET Stock = (SELECT count(ID_Item) 
       FROM T2 
       WHERE T2.ID_Product = T1.ParentSKU AND 
         T2.Name = '' AND 
         T2.Returned = '' 
       ); 

あなたは相関サブクエリにT1への参照を繰り返してはなりません。サブクエリと更新されるテーブルとの間に接続が必要です。

+0

ありがとうございますが、私は選択カウントで別のテーブルT3からもう1つのクエリを追加する必要があることに気付きました。これどうやってするの? –

+0

@PierreS。 。 。 。 *別の質問をしてください。コメントに質問をしたり、回答があった後で質問を変更したりしないでください(これは、ダウンボントを作成する回答を無効にする可能性があります)。 –

関連する問題