检索条件的问题!很简单!

lulu_xiaoniu 2013-03-22 05:59:56
数据表内容如下:
id class
1 1年级1班
2 1年级
3 3年级3班


现在输入条件”1年级,3年级3班,",如何将数据库里的第1条和第3条记录检索出来,where 条件应该怎么写呢?

条件 like '%class%' 吗? 这样好像不对!!!
...全文
135 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
lulu_xiaoniu 2013-03-23
  • 打赏
  • 举报
回复
也就是说 我有个 List<string> list=new List<string>(); list.add("1年级1班"); list.add("1年级"); list.add("3年级3班"); 这个集合怎么遍历才能将显示为“(class=1年级1班 or class=3年级3班)”,这种效果!
lulu_xiaoniu 2013-03-23
  • 打赏
  • 举报
回复
我想要的结果是,根据输入内容”1年级,3年级3班,",去匹配数据库里每行记录是否包含了这个结果!!!
lulu_xiaoniu 2013-03-23
  • 打赏
  • 举报
回复
上面我说过了 我是要拼这个条件的 因为我条件里有很多 and 所以 用上面的 or 拼出来效率很低!
gongjian0628 2013-03-23
  • 打赏
  • 举报
回复
declare @tb table(
id int ,class varchar(25)
)
insert into @tb(id,class)
select 1,'1年级1班' union all
select 2,'1年级' union all
select 3,'3年级3班'

set statistics profile on
select id,class from @tb where class in ('1年级','3年级3班')
select id,class from @tb where class = '1年级' or class ='3年级3班'
select id,class from @tb where class like '%1年级' or class like '3年级3班%'
lulu_xiaoniu 2013-03-22
  • 打赏
  • 举报
回复
in的效率在开发上效率也是很低的
lulu_xiaoniu 2013-03-22
  • 打赏
  • 举报
回复
都不是我要的结果,目前,输入的只能是上面的条件,不想做分隔,效率太低,因为where条件里有很多筛选,不只这一个
hgwyl 2013-03-22
  • 打赏
  • 举报
回复
还是有点问题,应该是 2013级 1班 2013级 2班 2012级 1班 2012级 2班 2011级 1班 2011级 2班
hgwyl 2013-03-22
  • 打赏
  • 举报
回复
这个字段做得好纠结…… 1年级1班 1年级 1年级3班 不能将表分两个字段存,分开查询么…… 1年级 1班 1年级 2班 1年级 3班 2年级 1班 2年级 2班 2年级 3班 这样查询起来不方便么……
  • 打赏
  • 举报
回复
in ('1年级', '3年级3班');
搬砖的码农 2013-03-22
  • 打赏
  • 举报
回复
先按照逗号分割,然后再like 查询

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧