0
私の 'products'テーブル内の他の2つのテーブルにない製品を更新しようとしています。製品には固有の識別子「ean」があります。私の計画は、他のテーブルと2つの左結合を行い、他の両方のフィールドにnullが含まれている場合に更新することでした。 MS SQL Serverの使用2つの左ジョインとwhere句を使用したSQLサーバーの更新
テーブル:それが動作するようには思えないので、私が間違って何を製品、テーブル2、表3
update product
set published = 0
from p as product
left join a as table2
on p.ean = a.ean
left join t as table3
on p.ean = t.ean
where t.ean is null and a.ean is null
をやっていますか?
何が間違っていますか?任意のエラーまたは間違ったデータ? 'UPDATE'なしで' SELECT'を使って最初にテストして、クエリが正しい行を返していることを確認してください。 –
where句には宣言された名前(table3.ean)が必要な場合があります。このシナリオに関連するサンプルデータが表示されれば、さらに助けてくれるかもしれません。 – happymacarts
私はあなたがエイリアスを後方に置いたと思います。テーブル名が 'table2'の場合は、' LEFT JOIN table2 as A 'と書くべきです。 –