本帖最后由 summily 于 2010-04-23 11:24:24 编辑

解决方案 »

  1.   

     a.上级 like '%甲%' 
      

  2.   

    create table crdfgg_user(姓名 varchar(10), 部门  varchar(10), 上级  varchar(10),  工种 varchar(10))
    insert into crdfgg_user values('乙' ,    'aaa' ,  '甲|丙',    'GL')
    insert into crdfgg_user values('丁' ,    'bbb' ,  '乙'   ,    'TG')
    insert into crdfgg_user values('甲' ,    'ccc' ,  '戊'   ,    'DK')
    create table 题库(table_no int,姓名 varchar(10))
    insert into 题库 values(1 ,       '甲')
    insert into 题库 values(2 ,       '乙')
    create table 成绩(id  int, _no int,  [year] varchar(10))
    insert into 成绩 values(69 ,  '1' ,      '2010')
    insert into 成绩 values(70 ,  '2' ,      '2010')
    goselect a.姓名,a.部门 from crdfgg_user a,成绩 b,题库 c 
    where (b.[year]= '2010' and b._no = c.table_no and a.姓名 = c.姓名) and a.工种 = 'GL' and (a.上级 like '%甲%' ) order by a.部门drop table crdfgg_user ,题库,成绩/*姓名         部门         
    ---------- ---------- 
    乙          aaa(所影响的行数为 1 行)
    */
      

  3.   

    a.上级 like '甲' 
    -->
    a.上级 like '%甲%'最好改为
    charindex('|甲|' , '|' + a.上级 + '|') > 0create table crdfgg_user(姓名 varchar(10), 部门  varchar(10), 上级  varchar(10),  工种 varchar(10))
    insert into crdfgg_user values('乙' ,    'aaa' ,  '甲|丙',    'GL')
    insert into crdfgg_user values('丁' ,    'bbb' ,  '乙'   ,    'TG')
    insert into crdfgg_user values('甲' ,    'ccc' ,  '戊'   ,    'DK')
    create table 题库(table_no int,姓名 varchar(10))
    insert into 题库 values(1 ,       '甲')
    insert into 题库 values(2 ,       '乙')
    create table 成绩(id  int, _no int,  [year] varchar(10))
    insert into 成绩 values(69 ,  '1' ,      '2010')
    insert into 成绩 values(70 ,  '2' ,      '2010')
    goselect a.姓名,a.部门 from crdfgg_user a,成绩 b,题库 c 
    where (b.[year]= '2010' and b._no = c.table_no and a.姓名 = c.姓名) and a.工种 = 'GL' and (charindex('|甲|' , '|' + a.上级 + '|') > 0 ) order by a.部门drop table crdfgg_user ,题库,成绩/*姓名         部门         
    ---------- ---------- 
    乙          aaa(所影响的行数为 1 行)
    */