Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Truy vấn:tìm các hàng không thuộc danh sách các giá trị

Tôi tin rằng vấn đề là bạn đang cố gắng tìm kiếm các giá trị từ bạn trong tuyên bố. Những gì bạn cần làm là chuyển câu lệnh in của mình thành một bảng và sau đó bạn có thể xác định các giá trị nào khác nhau.

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)

Một giải pháp thay thế tốt hơn sẽ là tạo một hàm có giá trị bảng để biến chuỗi được phân tách bằng dấu phẩy của bạn thành một bảng. Tôi không có bất kỳ mã nào hữu ích, nhưng nó sẽ dễ dàng tìm thấy trên Google. Trong trường hợp đó, bạn chỉ cần sử dụng cú pháp bên dưới.

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

Hy vọng điều này sẽ giúp



  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 Server 2012 truy vấn dữ liệu Access 2007 sử dụng lỗi OPENROWSET

  2. Liên minh máy chủ Sql nhưng giữ trật tự

  3. Khóa chính kết hợp trong biến loại Bảng

  4. Tạo cơ sở dữ liệu máy chủ SQL với Azure Data Studio

  5. Tham số có giá trị bảng trong Quy trình được lưu trữ và Khung thực thể 4.0