Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

SQL Cara Memperbarui SUM kolom di atas grup di tabel yang sama

Dengan asumsi Anda menggunakan SQL Server, saya pikir Anda menginginkan sesuatu seperti ini:

WITH toupdate AS
     (SELECT team, year, 
             Sum(personsales) OVER (partition BY team, year) AS newTeamSales 
      FROM salessummary
     ) 
UPDATE toupdate 
   SET teamsales = newteamsales; 

Kueri asli Anda memiliki beberapa masalah dan konstruksi yang mencurigakan. Pertama, subkueri agregasi tidak dapat diperbarui. Kedua, Anda melakukan agregasi dan menggunakan fungsi jendela dengan, meskipun diizinkan, tidak biasa. Ketiga, Anda menggabungkan berdasarkan PersonSales dan mengambil sum() . Sekali lagi, diperbolehkan, tapi tidak biasa.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MS SQL ON DELETE CASCADE beberapa kunci asing menunjuk ke tabel yang sama?

  2. Pencocokan Fuzzy SQL

  3. Apa cara terbaik untuk memilih nilai minimum dari beberapa kolom?

  4. Bagaimana MENGUBAH Parameter Nilai Tabel

  5. Apa itu "rowversion" di SQL Server?