日期:2014-05-19  浏览次数:20965 次

这样的记录如何筛选?
记录如下
username   userclass   userdep   userlevel
aaa             2,3               1               1
bbb             4,2               3                 3
ccc             2,3,4           2                 2
dd               3                   3               4
eee             2                     2               3
ff               4                   2                 1
gggg           2,3                 1                 4


我查询条件是userclass中的值通过拆分后,任意一个值大于等于当前输入的值就是符合条件
比如我输入是3  
那么列出的是:
username   userclass   userdep   userlevel
aaa             2,3               1               1
bbb             4,2               3                 3
ccc             2,3,4           2                 2
dd               3                   3               4
ff               4                   2                 1
gggg           2,3                 1                 4

这样的SQL语句如何构造?

------解决方案--------------------
有个字符串函数
select * from table where substring(0,userclsss,(3or4))
就是这样的意思,我的用法不一定对,好久不用了。可以查查帮助关于一些字符串函数的

------解决方案--------------------
select * from table where substring(0,userclsss,(3or4))=0
假如substring找到有关于3和4的字符就返回0



------解决方案--------------------
--试试
Select distinct a.* from 表 as a inner Join (
Select Userclass,Substring( ', '+userclass+ ', ',C+1,
charindex( ', ', ', '+userclass+ ', ',C+1)-(C+1)) as col
from 表 as a,(Select distinct top 200 colid as C
from syscolumns where colid> =1 order by colid ) b
Where substring( ', '+userclass+ ', ',C,8000) like ',_% ') as b
On a.Userclass=b.Userclass and b.col> =3
------解决方案--------------------
任意一个值大于等于当前输入的值就是符合条件?

任意一个值是指哪个?
------解决方案--------------------
eee不是也符合条件吗
------解决方案--------------------