sql >> Databáze >  >> RDS >> Mysql

Aktualizace MYSQL ze stejné tabulky

UPDATE TABLE_A t
         JOIN
           ( SELECT type
                  , MIN(value) AS value
             FROM TABLE_A
             GROUP BY type
             HAVING COUNT(DISTINCT value) = 1
           ) AS tu
         ON tu.type = t.type
SET t.value = tu.value
WHERE t.value IS NULL

Jak ukázal Peufeu, DISTINCT je potřeba k zachycení případů, jako je tento, kde předpokládám, že řádek id=3 musí být také aktualizován:

TABLE-A
id | type | value
 1 |  10  | 123456
 2 |  10  | 123456
 3 |  10  | NULL
 4 |  20  | 123456
 5 |  20  | 654321
 6 |  20  | NULL



  1. Vkládání komentářů do příkazů MySQL

  2. Oracle SQL Analytic dotaz – rekurzivní průběžný součet podobný tabulkovému procesoru

  3. Jak získat data z databáze mysql

  4. Zřetězit a seskupit více řádků v Oracle