求搜索功能的存储过程:
学生表: SID,no(学号),name,sex,age,place(籍贯).
班级表: ID,SID,gradeName,specialy(专业).
特 长: ID,SID,good_at(特长)
就业单位:ID,SID,corpName(单位名称),dent(部门).
搜索条件:(班级)gradeName,(特长)good_at,(单位)corpName,(姓名)name,(年龄)age
返回列表是:(姓名)name,(性别)sex,(年龄)age,(专业)specialy,(单位)corpName
------解决方案--------------------发错区了呀哥们...
------解决方案--------------------学生表: SID,no(学号),name,sex,age,place(籍贯).
班级表: ID,SID,gradeName,specialy(专业).
====================
数据库设计不恰当。。。。。。
=========
学生表: SID, ID,no(学号),name,sex,age,place(籍贯).
班级表: ID,gradeName,specialy(专业).
这样才对吧 ?
------解决方案--------------------欣赏楼上的,不过不是LZ要的。。。
------解决方案--------------------没说清楚.是全部条件and,条件or还是%
------解决方案--------------------似乎不难!
------解决方案-------------------- CREATE PROCEDURE sp_Scan
(
@scanTxt nvarchar(50)
)
AS
SELECT 学生表.name,学生表.sex,班级表.gradeName,班级表.specialy,就业单位.corpName
FROM 学生表,班级表,特长,就业单位
WHERE
(
班级表.gradeName LIKE '%@scanTxt% '
OR
特长.good_at LIKE '%@scanTxt% '
OR
就业单位.corpName LIKE '%@scanTxt% '
OR
学生表.name LIKE '%@scanTxt% '
OR
学生表.age LIKE '%@scanTxt% '
)
AND
就业单位.SID=特长.SID
AND
特长.SID=班级表.SID
AND
班级表.SID=学生表.SID
------解决方案--------------------我SQL不好,你试试好不好用吧,没给表名的说
------解决方案--------------------班级表.gradeName LIKE '% '+@scanTxt+ '% '
------解决方案-------------------- '% '+@scanTxt+ '% ' 和 '%@scanTxt% ' 的意思是一样的
------解决方案--------------------太高级的我不会,我一般都是用存储过程分页的