Here is the Select I need to convert to an Update:
SELECT DISTINCT f.SectionID, f.Name, v.Enabled
FROM SETTING_VALUE v
INNER JOIN SETTING s ON v.SettingID =
Based on your comment, all of the matching rows should be updated
you don't need distinct. Just execute this:
UPDATE SETTING_VALUE
SET Enabled = 0
FROM SETTING_VALUE v
INNER JOIN SETTING s ON v.SettingID = s.SettingID
INNER JOIN LU_FIELD f ON f.FieldID = s.FieldID
WHERE v.DisplayValue LIKE '%Miami%'
AND f.ControlName LIKE '%City%'
Everything that you saw in your select will be updated.
Option 1: Use a temporary table to hold your initial query results, then update based on the query results.
Option 2:
Insert into SETTING_VALUE
(SectionID, Name, Enabled)
SELECT DISTINCT f.SectionID, f.Name, v.Enabled
FROM SETTING_VALUE v
INNER JOIN SETTING s ON v.SettingID = s.SettingID
INNER JOIN LU_FIELD f ON f.FieldID = s.FieldID
WHERE v.DisplayValue LIKE '%Miami%'
AND f.ControlName LIKE '%City%'
UPDATE SETTING_VALUE
SET Enabled = 0
WHERE DisplayValue LIKE '%Miami%'
AND EXISTS (
SELECT *
FROM SETTING s
WHERE SETTING_VALUE.SettingID = s.SettingID
AND EXISTS (
SELECT *
FROM LU_FIELD f
WHERE f.FieldID = s.FieldID
AND f.ControlName LIKE '%City%'
)
);
You can try the following
UPDATE v
SET Enabled = 0
FROM SETTING_VALUE v
WHERE EXISTS(
select * from SETTING s
INNER JOIN LU_FIELD f ON f.FieldID = s.FieldID
WHERE v.DisplayValue LIKE '%Miami%'
AND f.ControlName LIKE '%City%'
AND v.SettingID = s.SettingID
)