dlxm表
khxm             dl        xm
作业。           1         王
考试。           2         王        
学习,           10        王jcxs表
inspect_name       dlkh
王                 作业。*考试。*
王                 考试。*
王                 考试。*我想查询
khxm      dl        完成次数
作业。    1           1
考试。    2           3
学习,    10          0

解决方案 »

  1.   

    create table dlxm
    (
      khxm varchar(10),
      dl int, 
      xm varchar(10)
    )
    insert into dlxm
    select '作业。',1,'王' union all
    select '考试。',2,'王' union all
    select '学习,',10,'王'create table jcxs
    (
      inspect_name varchar(10),
      dlkh varchar(100)
    )
    insert into jcxs
    select '王','作业。*考试。*' union all
    select '王','考试。*' union all
    select '王','考试。*'select khxm,dl
    ,(select COUNT(*) from jcxs b where a.xm=b.inspect_name and CHARINDEX('*'+a.khxm+'*','*'+b.dlkh)>0) as 完成次数
    from dlxm a
    /*
    khxm dl 完成次数
    作业。 1 1
    考试。 2 3
    学习, 10 0
    */
      

  2.   

    老师还有姓名呢呵呵对不起是我忘记了。
    我想查询
    khxm dl 完成次数 xm
    作业。 1 1       王
    考试。 2 3       王
    学习, 10 0      王
      

  3.   

    select khxm,dl
    ,(select COUNT(*) from jcxs b where a.xm=b.inspect_name and CHARINDEX('*'+a.khxm+'*','*'+b.dlkh)>0) as 完成次数
    ,xm
    from dlxm a
    /*
    khxm dl 完成次数 xm
    作业。 1 1 王
    考试。 2 3 王
    学习, 10 0 王
    */