改变一下XM字段内容这样如何取得结果 ,谢谢DX帮忙大陈小明 
李小红 王大赵 一
胡二赵 
李牛三赵 李三一张一 
四一张保仔
五一张三丰
...... 想要的结果集合是: 
%小%  count出总数 
%赵%  count出总数 
%张%  count出总数 

解决方案 »

  1.   

    如果没有
    GROUP BY ( case when instr(XM,'小')>0 then 1  when instr(XM,'赵')>0 then 2  when instr(XM,'张')>0 then 3  else 4 end)如果有,说一下规则。
      

  2.   


    是只查这三个吗
    %小%  count出总数 
    %赵%  count出总数 
    %张%  count出总数 
    还有,你这里是不是想查名字中间包含了这些字的统计记录呀?
      

  3.   

    select ( case when instr(XM,'小')>0 then '小'  when instr(XM,'赵')>0 then '赵'  when instr(XM,'张')>0 then '张'  else 4 end) 什么结果.
      

  4.   


    4 -> ''
    l类型不一致了
      

  5.   


    SQL> SELECT * FROM TEST;CNAME
    ------------------------------------------------------------
    ABCD
    EDFGA
    RFGT
    CBD
    CCD
    XFR
    BBS
    CSDN8 rows selectedSQL> 
    SQL> SELECT '%A%',SUM(A) FROM(
      2    SELECT CNAME,CASE WHEN INSTR(CNAME,'A')=0 THEN 0 ELSE 1 END A
      3    FROM TEST
      4  ) TMP
      5  UNION
      6  SELECT '%B%',SUM(B) FROM(
      7    SELECT CNAME,CASE WHEN INSTR(CNAME,'B')=0 THEN 0 ELSE 1 END B
      8    FROM TEST
      9  ) TMP
     10  UNION
     11  SELECT '%C%',SUM(C) FROM(
     12    SELECT CNAME,CASE WHEN INSTR(CNAME,'C')=0 THEN 0 ELSE 1 END C
     13    FROM TEST
     14  ) TMP;'%A%'     SUM(A)
    ----- ----------
    %A%            2
    %B%            3
    %C%            4
      

  6.   


    规则都没有,怎么有规则的sql供你用呢?