У меня есть базовый запрос SQL, начиная с:
SELECT top 20 application_id, [name], location_id FROM apps
Теперь я хотел бы закончить это так, чтобы это делалось (написано в псевдокоде)
if @lid > 0 then
WHERE location_id IN (@lid)
else
WHERE location_id is all values in location_id column
По запросу, вот пример
application_id name location_id
----------------------------------------------------------
1 Joe Blogs 33
2 Sam Smith 234
3 Jeremy Carr 33
@ locid - это результаты, предоставленные пользователем, например, '33, 234 '
Если @lid пуст, то я бы хотел, чтобы он вывел все строки для location_id с именами и application_id. В противном случае я хотел бы, чтобы он выводил все строки относительно предоставленных чисел в @lid (обозначая location_id.
Итак, если @lid равен 0:
application_id name location_id
----------------------------------------------------------
1 Joe Blogs 33
2 Sam Smith 234
3 Jeremy Carr 33
В противном случае, если @lid содержит '33'
application_id name location_id
----------------------------------------------------------
1 Joe Blogs 33
3 Jeremy Carr 33