题目表:
问题编号   问题内容                                         问题类别
1         为什么人要有头发?                                  单选
2        大月有31天,小月有30天,那麽一年中几个月有28天?     多选
3        桌上有3个苹果,你拿起2个,你还有几个?               多选
4         怎么发短信                                          单选
5         我们有几个人                                        判断
6    医生给你3个药丸,要你每30分钟吃1个,这些药丸多久後会被吃完? 判断
7    农夫有17只羊,除了9只以外都病死了,农夫还剩几只羊?     判断
8         我们有几个人                                        多选
9        桌上有3个苹果,你拿起2个,你还有几个?              单选
·······用户正确答题表:
用户           问题编号
1               1
2               1
1               2查询用户1没有回答正确的问题:
单选 :5道,多选:1道,判断:2道
这些题选出来都是随机的,但是不同类别选出来数目是固定的

解决方案 »

  1.   


    汗,我要的是sql语句,老大
      

  2.   

    全部回答正确。
    select 0 用户1没有回答正确的问题 from dual;
      

  3.   

    如果题数固定,可以计算出各类回答正确问题数,然后相减。
    假设每类题100道。随便写个,性能也不敢保证:
    select 100-sum(decode(t1. 问题类别,'单选',1)) 单选,
           100-sum(decode(t1. 问题类别,'多选',1)) 多选,
           100-sum(decode(t1. 问题类别,'判断',1)) 判断
    from 题目表 t1,用户正确答题表 t2
    where t1.问题编号=t2.问题编号 and t2.用户=1;显示格式,可以通过程序转换。
      

  4.   

    查询用户1没有回答正确的问题select  问题内容 from 题目表 ques
    where 问题编号 not in 
    (select 问题编号 from 用户正确答题表 where 用户='1')
      

  5.   

    我没看出来,最后需要显示哪些列,问题内容     问题类型
    就如上?那那个SQL加个问题类型字段就好了。
      

  6.   

    with 喜欢楼主表 as 
    (select  问题内容,问题类别from 题目表 
    where 问题编号 not in 
    (select 问题编号 from 用户正确答题表 where 用户='1')
    )select  问题内容,问题类别from 喜欢楼主表 where  问题类别='单选' and rownum <6
    union all
    select  问题内容,问题类别from 喜欢楼主表 where  问题类别='多选' and rownum <2
    union
    select  问题内容,问题类别from 喜欢楼主表 where  问题类别='判断' and rownum <3
      

  7.   

    with 喜欢楼主表 as 
    (select  问题内容,问题类别 from 题目表 
    where 问题编号 not in 
    (select 问题编号 from 用户正确答题表 where 用户='1')
    )
    select  问题内容,问题类别 from 喜欢楼主表 where  问题类别='单选' and rownum <6
    union all
    select  问题内容,问题类别 from 喜欢楼主表 where  问题类别='多选' and rownum <2
    union all
    select  问题内容,问题类别 from 喜欢楼主表 where  问题类别='判断' and rownum <3
    整理下!!!!送给你....
      

  8.   

    with 喜欢楼主表 as 
    (select  问题编号,问题内容,问题类别 from 题目表 
    where 问题编号 not in 
    (select 问题编号 from 用户正确答题表 where 用户='1')
    ORDER BY  dbms_random.value
    )
    select  问题内容,问题类别 from 喜欢楼主表 where  问题类别='单选' and rownum <6
    union all
    select  问题内容,问题类别 from 喜欢楼主表 where  问题类别='多选' and rownum <2
    union all
    select  问题内容,问题类别 from 喜欢楼主表 where  问题类别='判断' and rownum <3
      

  9.   


    无敌  I F Y