首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

关于搜索数据库,该如何处理

2012-04-02 
关于搜索数据库单曲名称:所属专辑:作曲:作词:演唱:演奏:指挥:乐器:请选择(ID)时间:唱片公司:请选择(ID)流

关于搜索数据库
单曲名称:
所属专辑:
作曲:
作词:
演唱:
演奏:
指挥:
乐器:请选择(ID)
时间:
唱片公司:请选择(ID)
流派: 请选择(ID)
风格:请选择(ID)
主题: 请选择(ID)

等.

主表是Songs表

还有些数据记录在附表中~
我想实现高级搜索~

用一个存储过程过滤出来歌曲的IDS 然后在主表中找到相关歌曲~~

但是遇到的问题是:20个参数,判断如何实现..(20个里面是任意选择的~)
可能是一个,也可能是非个~或者任意几个~
指教下~ 谢谢~


[解决办法]

SQL code
select  a.* from song ainner join ...附属表1on ..inner join ...附属表2on ..where songname like '%' + isnull(nullif(@songname,''),songname) + '%'    and AlbumsName like '%' + isnull(nullif(@AlbumsName,''),AlbumsName) + '%'    and Composer = isnull(nullif(@Composer),Composer )    and ...这样就可以了,无论参数给''这样的空字串,还是null值,都可以进行匹配.具体的我就不写了,你自己跟具需要处理一下. 

热点排行
Bad Request.