Tôi có một truy vấn SQL cơ bản, bắt đầu với:Làm cách nào để sử dụng danh sách giá trị được phân tách bằng dấu phẩy làm bộ lọc trong T-SQL?
SELECT top 20 application_id, [name], location_id FROM apps
Bây giờ, tôi muốn hoàn thành nó để nó thực hiện điều này (viết bằng Mã giả)
if @lid > 0 then
WHERE location_id IN (@lid)
else
WHERE location_id is all values in location_id column
Theo yêu cầu, đây là một ví dụ:
application_id name location_id
----------------------------------------------------------
1 Joe Blogs 33
2 Sam Smith 234
3 Jeremy Carr 33
@locid là kết quả được đưa ra bởi người dùng, ví dụ ' 33, 234 '
Nếu @ lid rỗng thì tôi muốn nó xuất tất cả các hàng cho location_id với tên và application_id. Nếu không, tôi muốn nó ra tất cả các hàng liên quan đến những con số được cung cấp trong @lid (viết tắt của location_id
Vì vậy, nếu @lid là 0:.
application_id name location_id
----------------------------------------------------------
1 Joe Blogs 33
2 Sam Smith 234
3 Jeremy Carr 33
Ngược lại, nếu @lid chứa '33'
application_id name location_id
----------------------------------------------------------
1 Joe Blogs 33
3 Jeremy Carr 33
Ông có thể vui lòng cung cấp một số dữ liệu mẫu và resultset mong muốn? – Quassnoi
Hy vọng điều này là đủ cho bạn. Cảm ơn trước. –