Microsoft SQL Server Management Studio を使用して、SQL を初めて使用します。
2 つのテーブルが結合された後に更新を実行する SQL ステートメントを作成しようとしています。
と の 2 つのテーブルがmyTable1
ありmyTable2
ます。どちらもフィールドを共有しておりMyID
、これが私が参加するフィールドになります。myTable1
という列が含まれていますBitToUpdate
。MyTable2 には という列が含まれていますBitToCheck
。
inも 1 である 1に設定BitToUpdate
したいと思います。myTable1
BitToCheck
myTable2
ここに私が持っているものがあります:
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 は実際には「ポインタ」ではないので、これは理にかなっていると思います....
しかし、この結合と更新にアプローチする正しい方法は何でしょうか?