首页 > 解决方案 > tsql 全选或使用 where 条件

问题描述

我正在制作一个应用程序,它有一个简单的 UI 来显示一个数据库表。它允许用户输入一个值来过滤行或勾选复选框以显示整个表格。

是否可以创建一个返回所有行的 where 条件我的目标是使用 SQL“从 tbl1 中选择 blah、blah2、blah3 where blah = @anInputValue”。但是这个 SQL 不能为我传递的任何值返回整个表。

废话 废话2 废话3
1 2 3
4 5 6
7 8 9

当用户选中“全选”时,它返回 3 行。当用户输入 4 时,它返回中间行

我的问题是我有 4 个“全选”复选框,我不想进行很多查询和很多“如果则不然”来选择正确的查询。

标签: sqltsql

解决方案


像这样,您可以将输入参数留空以获取所有值。

select *
from tbl1 
where @anInputValue is null 
   or blah = @anInputValue

您可以使用不同的值来指示获取所有值,例如

where @anInputValue = -1
   or blah = @anInputValue

推荐阅读