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

Perbarui dengan Gabung, Kelompokkan, dan Memiliki

Pernyataan pembaruan asli Anda memiliki GROUP BY dan HAVING, yang tidak diperbolehkan dalam sintaks pernyataan UPDATE. Berikut tautan ke diagram sintaks:PERBARUI (Transact-SQL) .

Versi kedua Anda memiliki GROUP BY dan HAVING sebagai bagian dari tabel turunan, yang adalah diizinkan.

Jadi, ya:Anda memang memiliki kesalahan sintaksis.

Kebetulan, saya setuju dengan @bluefeet:CTE sebagai pengganti tabel turunan akan membuat pembaruan Anda lebih mudah dibaca dan dipahami. Hal kecil, tetapi dapat membuat perbedaan besar dalam kemudahan perawatan.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL bergabung dengan rentang tanggal?

  2. Jumlahkan dengan SQL server RollUP - tetapi hanya ringkasan terakhir?

  3. Pad string dengan nol di depan sehingga panjangnya 3 karakter di SQL Server 2008

  4. Tips Menggunakan SQL Server dengan Salesforce SOQL

  5. Menjalankan Paket SSIS sebagai SQLAgent Job