日期:2014-05-17  浏览次数:20871 次

SQL字段多选查询[高深]【多选对多选】
现有表结构:
[TABLE:TEST]
----------------------
 id int identity(1,1) primary key,
 name varchar(100) ,
 fushusheshi varchar(500) 
----------------------

fushusheshi 字段内是存附属设施的。这是一个房产系统,所以内部存:(例) 床,冰箱,彩电,洗衣机,家具,电脑
现在列表页面需要进行查询,查询条件是可多选的。

现在遇到查询时候的问题
以上面的存储格式为例,
查询的时候也会是多选查询。

比如我选择有床,有电脑,有洗衣机的房子。
用LIKE就查不到了。



以前我是这么查

select * From Test where ','+条件+',' like '%,'+fushusheshi +',%'

可是根本查不到,求各位大神给个解决方案啊!!!


------解决方案--------------------
select name From Test where fushusheshi like '%床%电脑%洗衣机%'
------解决方案--------------------
我觉得在你的界面上应该有一个复选框列表,然后你可以选择适当的房间。

选择 床,桌子

传入 queryField = '%床%桌子%' 如果选择更多项需要用%进行分隔,用in关键字也是可以的
select * from Test where fushusheshi LIKE '''+ queryField +'''