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

Menangani nilai negatif dengan sql

Anda sepertinya tidak mendapatkan banyak jawaban - jadi inilah sesuatu jika Anda tidak akan mendapatkan 'bagaimana melakukannya dalam SQL murni' yang benar. Abaikan solusi ini jika ada sesuatu yang SQLish - ini hanya pengkodean defensif, tidak elegan.

Jika Anda ingin mendapatkan jumlah semua data dengan musim yang sama mengapa menghapus catatan duplikat - ambil saja di luar, jalankan loop foreach, jumlahkan semua data dengan nilai musim yang sama, perbarui tabel dengan nilai yang benar dan hapus entri yang tidak perlu. Berikut salah satu cara untuk melakukannya (kode semu):

productsArray = SELECT * FROM products
processed = array (associative)
foreach product in productsArray:
  if product[season] not in processed:
    processed[season] = product[quantity]
    UPDATE products SET quantity = processed[season] WHERE id = product[id]
  else:
    processed[season] = processed[season] + product[quantity]
    DELETE FROM products WHERE id = product[id]


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 5 Cara Memperbaiki “Divide by zero error” di SQL Server (Msg 8134)

  2. PDO DBLIB mengakses SQL Server 2008 dan 2012

  3. SQL Server ODBC Driver tidak memunculkan kesalahan

  4. Jenis kursor berubah kesalahan pada Perl OLE32 MSSQL dateadd hasil fungsi

  5. Ubah 'datetimeoffset' menjadi 'tanggal' di SQL Server (Contoh T-SQL)