Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Pembaruan MYSQL dari dalam tabel yang sama

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

Seperti yang ditunjukkan Peufeu, DISTINCT diperlukan untuk menangkap kasus seperti ini, di mana saya kira baris id=3 harus diperbarui juga:

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. periksa apakah kueri menghasilkan baris kosong mysqli

  2. Bagaimana cara memasukkan data formulir ke tabel database MySQL dengan PHP dan Ajax?

  3. Buat tabel baru dari menggabungkan dua tabel dengan union

  4. Bisakah MySQL menggunakan banyak indeks untuk satu kueri?

  5. Bagaimana saya harus menanyakan MySQL dan bagaimana cara menyimpan hasil dari MySQL?