使用同表同級的資料更新行
設想一個具有類似於以下結構的表:
ID | 名稱 | 值 |
---|---|---|
1 | 測試 | 1 |
VALUE1 | 2 | |
2 | 測試2 | |
1 | 測試2 | |
4 | NULL |
4
. ]1 | Test3 | |
---|---|---|
VALUE3 | ||
VALUE3 | ||
ID | NAME | |
ID | NAME | VALUE |
1 | 測試 |
UPDATE data_table t, (SELECT DISTINCT ID, NAME, VALUE FROM data_table WHERE VALUE IS NOT NULL AND VALUE != '') t1 SET t.VALUE = t1.VALUE WHERE t.ID = t1.ID AND t.NAME = t1.NAME
測試2
VALUE2
1
測試2
4 | 測試 | VALUE1 |
---|---|---|
Test3 | VALUE3 | |
挑戰在於引用同一行中的行共享特定“NAME”值的表。解決方案涉及使用 JOIN 語句: | UPDATE data_table t, (SELECT DISTINCT ID, NAME, VALUE 來自數據表 其中值不為空且值! = '') t1 設定 t.VALUE = t1.VALUE 其中 t.ID = t1.ID AND t.NAME = t1.NAME | 在此語句中,子查詢 (T1) 會擷取具有非 NULL 和非空「VALUE」值的不同行。然後,主查詢 (t) 在「ID」和「NAME」欄位上與此子查詢連接,以識別要更新的行。因此,空的「VALUE」儲存格將填入具有相同「NAME」值的非空白行中的對應值。 |
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3