学生表: 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

解决方案 »

  1.   

    学生表: SID,no(学号),name,sex,age,place(籍贯).
    班级表: ID,SID,gradeName,specialy(专业).====================
    数据库设计不恰当=========
    学生表: SID, ID,no(学号),name,sex,age,place(籍贯).
    班级表: ID,gradeName,specialy(专业).这样才对吧 ?
      

  2.   

    没说清楚.是全部条件and,条件or还是%
      

  3.   

    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
      

  4.   

    我SQL不好,你试试好不好用吧,没给表名的说
      

  5.   

    班级表.gradeName LIKE '%'+@scanTxt+'%'
      

  6.   

    '%'+@scanTxt+'%' 和 '%@scanTxt%' 的意思是一样的