Я новичок в SQL, используя Microsoft SQL Server Management Studio.Обновление SQL после соединения двух таблиц
Я пытаюсь написать инструкцию SQL, которая выполняет обновление после объединения двух таблиц.
У меня есть две таблицы: myTable1
и myTable2
. Оба делят поле MyID
, которое будет полем, к которому я присоединюсь. myTable1
содержит столбец BitToUpdate
. А MyTable2 содержит столбец с именем BitToCheck
.
Я хочу установить BitToUpdate
в myTable1
быть 1, где BitToCheck
в myTable2
равно 1.
Вот что у меня есть:
SELECT M.MyID, BitToUpdate, BitToCheck
INTO #temp_table
FROM myTable1 as T1
LEFT JOIN myTable2 as T2
ON M.MyId = PO.MyId
Так первый я попытался объединить эти две таблицы myTable1
и myTable2
на их идентификаторах, и сохранить результат во временной таблице.
Далее, я хочу, чтобы обновить BitToUpdate
быть 1, где BitToCheck
равен 1.
Итак, чтобы сделать это во временной таблице, у меня есть:
UPDATE #temp_table
SET
`BitToUpdate` = 1
WHERE
`BitToCheck` = 1
Это обновляет BitToUpdate
успешно #temp_table , Однако, когда я делаю выбор на myTable1
, я обнаружил, что BitToUpdate
не изменен. Я предполагаю, что это имеет смысл, поскольку #temp_table не является «указателем» ....
Но каков был бы правильный подход к этому соединению и обновлению?
Это неправильно, пожалуйста, обратитесь к этому http://stackoverflow.com/questions/15209414/how-to-use-join-in-update-query Порядок : Update -> JOIN -> SET – Hendyanto
В случае, если кто-то заботится: запрос выше не ошибочен. В MS SQL вы можете либо UPDATE -> JOIN -> SET, либо UPDATE -> SET -> FROM -> JOIN ... или даже UPDATE -> SET -> FROM -> WHERE .. , –