Microsoft SQL Server Management Studio を使用して、SQL を初めて使用します。
2 つのテーブルが結合された後に更新を実行する SQL ステートメントを作成しようとしています。
と の 2 つのテーブルがmyTable1ありmyTable2ます。どちらもフィールドを共有しておりMyID、これが私が参加するフィールドになります。myTable1という列が含まれていますBitToUpdate。MyTable2 には という列が含まれていますBitToCheck。
inも 1 である 1に設定BitToUpdateしたいと思います。myTable1BitToCheckmyTable2
ここに私が持っているものがあります:
SELECT M.MyID, BitToUpdate, BitToCheck
INTO #temp_table
FROM myTable1 as T1
LEFT JOIN myTable2 as T2
ON M.MyId = PO.MyId
最初に、2 つのテーブルmyTable1とmyTable2その ID を結合して、結果を一時テーブルに格納しようとしました。
BitToUpdate次に、1になるように更新したいと思いBitToCheckます。
したがって、一時テーブルでそれを行うには、次のようにします。
UPDATE #temp_table
SET
`BitToUpdate` = 1
WHERE
`BitToCheck` = 1
これによりBitToUpdate、#temp_table が正常に更新されます。ただし、 select を実行すると、変更されていないmyTable1ことがわかりますBitToUpdate。#temp_table は実際には「ポインタ」ではないので、これは理にかなっていると思います....
しかし、この結合と更新にアプローチする正しい方法は何でしょうか?