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

pembaruan sql (bantu saya)

Pertama, cari tahu catatan mana yang perlu diperbarui:

select *
from tbl_order o
inner join tbl_group g on
    g.grp_id = o.grp_id
inner join tbl_indicator i on
    i.grp_nbr = g.grp_nbr
    and i.sect_nbr = g.sect_nbr
where
    g.indicat != i.indicat

Sekarang, ubah kueri untuk memperbarui catatan tersebut dengan grp_id yang benar. Perhatikan bahwa saya telah menambahkan gabungan tambahan ke tabel tbl_group dengan alias "g2". Ini akan menjadi grup yang benar.

update o set
    o.grp_id = g2.grp_id
from tbl_order o
inner join tbl_group g on
    g.grp_id = o.grp_id
inner join tbl_indicator i on
    i.grp_nbr = g.grp_nbr
    and i.sect_nbr = g.sect_nbr
inner join tbl_group g2 on
    g2.grp_nbr = i.grp_nbr
    and g2.sect_nbr = i.sect_nbr
    and g2.indicat = i.indicat
where
    g.indicat != i.indicat

Perhatikan bahwa karena penggabungan dalam pada tbl_group g2, catatan tidak akan diperbarui jika tidak ada catatan tbl_group di mana indikasi cocok dengan nilai indikasi catatan tbl_indicator terkait.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menjalankan Script, dibuat dengan menghasilkan skrip di server yang berbeda memberikan kesalahan

  2. Periksa apakah Tabel Direferensikan oleh Kunci Asing di SQL Server dengan OBJECTPROPERTY()

  3. String koneksi SQL Server Express 2008 hilang di web.config

  4. Bagaimana cara menghindari satu kutipan di SQL Server?

  5. tampilkan 3 catatan teratas dalam koma yang dipisahkan dalam satu kolom