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

Permintaan:temukan baris yang bukan milik daftar nilai

Masalah yang saya yakini adalah bahwa Anda mencoba menemukan nilai dari Anda dalam pernyataan. Yang perlu Anda lakukan adalah mengubah pernyataan in menjadi tabel dan kemudian Anda dapat menentukan nilai mana yang berbeda.

create table #temp
(
value int
)

insert into #temp values 1
insert into #temp values 2
insert into #temp values 3
insert into #temp values 4

select
 id
from
 #temp
where
 not exists (select 1 from Tab where Col = id)

Alternatif yang lebih baik adalah membuat fungsi bernilai tabel untuk mengubah string yang dibatasi koma menjadi tabel. Saya tidak memiliki kode apa pun, tetapi seharusnya mudah ditemukan di Google. Dalam hal ini Anda hanya perlu menggunakan sintaks di bawah ini.

select
 id
from
 dbo.SplitStringToTable('2,3,6,7')
where
 not exists (select 1 from Tab where Col = id)

Semoga membantu



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apa itu kebuntuan dalam database?

  2. Bisakah kita menjalankan skrip SQL menggunakan migrasi kode pertama?

  3. Konversi 'datetime' menjadi 'time' di SQL Server (Contoh T-SQL)

  4. Bagaimana sys.dm_exec_describe_first_result_set_for_object Bekerja di SQL Server

  5. Bagaimana cara memperbarui data dari tabel ke tabel sql?