我有一个表Table(id,name),但是我们可以在这里使用id
UIViewController
我想要的是选择所有行(A,B,C D ......),除了' all'如果输入是全部,否则只有特定值(例如:如果输入是A,则为A.)。
你们这个人有一些美味多汁的解决方案吗?谢谢!
答案 0 :(得分:3)
我们假设您的查询中有参数@Id
。然后,您可以根据WHERE
的值来制定@Id
条款:
SELECT *
FROM MyTable t
WHERE i.Id <> 'all' AND (@Id='all' OR @Id=t.Id)
i.Id <> 'all'
部分确保永远不会返回'all'
行,无论@Id
的设置如何。其余的是您的条件转换为SQL(即查询具有'all'
,或查询匹配单个Id
)。
答案 1 :(得分:1)
这看起来像关系表的错误用法,因为“id”列应该只包含id ...
我建议删除“all”行,而是编写一个存储过程来决定是选择所有行还是只选择一行。
无论如何,对于你的例子:
SELECT * FROM your_table WHERE (id = @ID OR @ID = 'all') AND id <> 'all'