SSMS
 sql >> Cơ Sở Dữ Liệu >  >> Database Tools >> SSMS

Tham số hoạt động trong SSMS nhưng không phải SSRS

Câu hỏi của bạn không rõ thông số nào mà bạn đang gặp sự cố khi triển khai tính năng lọc "TẤT CẢ". Nhưng khi nhìn vào hai truy vấn của bạn, có vẻ như nó là @p_ServerName tham số. Trong truy vấn đầu tiên của bạn, hai truy vấn kia dường như đã được thực hiện đúng cách lọc 'TẤT CẢ'.

Vì vậy, vấn đề phải nằm ở đây:

(c1.SystemName = @p_ServerName OR c1.SystemName = c1.SystemName)

Đầu tiên, bạn đang cố gắng đạt được điều gì với phần thứ hai? c1.SystemName=c1.SystemName sẽ luôn đúng (trừ khi c1.SystemName là NULL và nếu đó là mục tiêu của bạn thì hãy sử dụng c1.SystemName IS NOT NULL

Tôi nghĩ điều này sẽ trông giống như sau:

([email protected]_ServerName OR @p_ServerName='all')

Đó là cách bạn triển khai hai thông số còn lại, vì vậy có lẽ tôi đang thiếu một số thứ.

Ngoài ra, tôi không chắc ý của bạn khi bạn nói rằng giải pháp truy vấn UNIONed phải là cách SSRS đang hoạt động. SSRS không viết lại các truy vấn của bạn dựa trên các tham số, nó chỉ ghi lại các giá trị trong các biến đó để bạn sử dụng trong truy vấn của mình. Nếu tham số của bạn @p_ServerName là một chuỗi thì nó chỉ là một biến VARCHAR với các ký tự "tất cả" trong đó.




  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. SQL Server Management Studio sẽ không kết nối với Sql Server

  2. SSMS:Khi chọn một chuỗi trong tập lệnh, hãy đánh dấu các ký tự giống nhau

  3. Thực hiện tham gia vào các truy vấn đã tham gia

  4. Chỉ chèn bản ghi mới vào bảng SQL bằng VBA

  5. Phát hiện biến không được sử dụng trong SQL Server