2017-09-07 17 views
0

同じ列の値に基づいて列の値を変更する際に問題があります。同じ列(異なる行)の値に基づいて列の値を更新するMSSQL

D244の "setting_idは" その後、私も「1から8F60を変更する必要があり、1の "SETTING_VALUE" を持っている場合。ここで

はサンプルデータテーブルsettings

| setting_id | setting_value | 
| ---------- | ------------- | 
| D244  |  1  | 
| 8F60  |  0  | 
| AD4F  |  1  | 

settings

です

私の試み:

UPDATE settings s, (SELECT DISTINCT setting_id, setting_value FROM settings WHERE setting_value like '1' and setting_id like 'D244') s1 
SET s.settingValue = s1.settingValue 
WHERE s.settingID like '8F60' 

答えて

1

お試しください -

UPDATE settings s INNER JOIN settings s1 
ON s1.setting_id = s.setting_id 
SET s.settingValue = s1.settingValue 
WHERE s.settingID like '8F60' 
AND s1.setting_id = 'D244' 
関連する問題