一句sql估计是不行,写个存储过程吧

解决方案 »

  1.   

    数据库设计就是一个日期、7个数据、加一个验证码中几等要写查询的,要用IF..ELSE
    必须写存储过程
      

  2.   

    10:56:37 SQL> select * from tc_data;NAME       DATA
    ---------- ------------------------------
    aaa        01,03,15,26,30,08,25
    bbb        01,02,07,18,25,29,20已用时间:  00: 00: 00.15
    10:56:44 SQL> select * from tc_result;HM
    ----------
    01
    02
    03
    08
    25
    30
    12已选择7行。已用时间:  00: 00: 00.16
    10:56:58 SQL> select name,decode(sl,4,'7等奖',5,'6等奖','没中奖') lx  from
    10:57:19   2  (select name,(select count(*) from tc_result where data like '%'||hm||'%') sl
    10:57:23   3  from tc_data) t;NAME       LX
    ---------- ------
    aaa        6等奖
    bbb        没中奖已用时间:  00: 00: 00.16
    10:57:24 SQL>
      

  3.   

    bzszp(SongZip)做的不错!我没有更好的办法^_^
      

  4.   

    我也写一个。
     create table tc_result(
     c1 char(2),
     c2 char(2),
     c3 char(2),
     c4 char(2),
     c5 char(2));
    insert into tc_result('01','09','11','12','20');
    create table tc_data(
    name varchar2(16),
    c1 char(2),
    c2 char(2),
    c3 char(2),
    c4 char(2),
    c5 char(2)); insert into tc_data
     values('aaa','01','09','11','30','36'); insert into tc_data
     values('bbb','01','09','11','20','36');
    select decode(c1,'01',1,'09',1,'11',1,'12',1,'20',0.5,0) +
    decode(c2,'01',1,'09',1,'11',1,'12',1,'20',0.5,0) +
    decode(c3,'01',1,'09',1,'11',1,'12',1,'20',0.5,0) +
    decode(c4,'01',1,'09',1,'11',1,'12',1,'20',0.5,0) +
    decode(c5,'01',1,'09',1,'11',1,'12',1,'20',0.5,0) as ct,name from tc_data;只能由存储过程来做了,上面的中奖码可以存到变量里,再写到select语句中。结果:
            CT NAME
    ---------- ----------------
             3 aaa
           3.5 bbb再建一个表关联分数和奖的等级即可。