|
@@ -4,7 +4,9 @@
|
|
<select id="selectePracticeQuestions" resultType="java.util.HashMap">
|
|
<select id="selectePracticeQuestions" resultType="java.util.HashMap">
|
|
|
|
|
|
select * from (
|
|
select * from (
|
|
- SELECT ques.*,tp.NAME ,tp.OBJECTIVE_TYPE, tp.SCORE,concat('[',qans.answers,']') ANSWERS FROM TEST_QUESTION ques
|
|
|
|
|
|
+ SELECT ROW_NUMBER() OVER (ORDER BY RAND()) AS row_num, ques.TEST_QUESTION_ID, ques.BASE_QUESTION_TYPE_ID, ques.CONTENT, ques.NOTE, ques.IS_VAILD, ques.CREATETIME,
|
|
|
|
+ ques.CREATEUSERID, ques.CREATEUSERNAME, ques.UPDATETIME, ques.UPDATEUSERID, ques.UPDATEUSERNAME, ques.DIFFICULTY,
|
|
|
|
+ tp.NAME ,tp.OBJECTIVE_TYPE, tp.SCORE,concat('[',qans.answers,']') ANSWERS FROM TEST_QUESTION ques
|
|
|
|
|
|
inner join TEST_BASE_QUESTION_TYPE tp on ques.BASE_QUESTION_TYPE_ID=tp.BASE_QUESTION_TYPE_ID
|
|
inner join TEST_BASE_QUESTION_TYPE tp on ques.BASE_QUESTION_TYPE_ID=tp.BASE_QUESTION_TYPE_ID
|
|
inner join (
|
|
inner join (
|
|
@@ -17,20 +19,26 @@
|
|
) qans on ques.TEST_QUESTION_ID=qans.TEST_QUESTION_ID
|
|
) qans on ques.TEST_QUESTION_ID=qans.TEST_QUESTION_ID
|
|
where ques.TEST_QUESTION_ID in(select tl.TEST_QUESTION_ID from TEST_QUESTION_LIBARY_QUESTION tl where
|
|
where ques.TEST_QUESTION_ID in(select tl.TEST_QUESTION_ID from TEST_QUESTION_LIBARY_QUESTION tl where
|
|
tl.TEST_QUESTION_LIBARY_ID in(
|
|
tl.TEST_QUESTION_LIBARY_ID in(
|
|
- SELECT a.TEST_QUESTION_LIBARY_ID FROM TEST_QUESTION_LIBARY a
|
|
|
|
- START WITH a.TEST_QUESTION_LIBARY_ID
|
|
|
|
-
|
|
|
|
- <foreach collection="labaryidList" item="id" open="in (" close=")" separator=",">
|
|
|
|
- #{ id }
|
|
|
|
- </foreach>
|
|
|
|
- CONNECT BY PRIOR a.TEST_QUESTION_LIBARY_ID=a.PARENT_ID
|
|
|
|
|
|
+ WITH RECURSIVE libary_cte AS (
|
|
|
|
+ SELECT a.TEST_QUESTION_LIBARY_ID
|
|
|
|
+ FROM TEST_QUESTION_LIBARY a
|
|
|
|
+ where a.TEST_QUESTION_LIBARY_ID
|
|
|
|
+ <foreach collection="labaryidList" item="id" open="in (" close=")" separator=",">
|
|
|
|
+ #{ id }
|
|
|
|
+ </foreach>
|
|
|
|
+ UNION ALL
|
|
|
|
+ SELECT e.TEST_QUESTION_LIBARY_ID
|
|
|
|
+ FROM TEST_QUESTION_LIBARY e
|
|
|
|
+ INNER JOIN libary_cte lcte ON lcte.TEST_QUESTION_LIBARY_ID = e.PARENT_ID
|
|
|
|
+ )
|
|
|
|
+ select *from libary_cte
|
|
) )
|
|
) )
|
|
and ques.BASE_QUESTION_TYPE_ID
|
|
and ques.BASE_QUESTION_TYPE_ID
|
|
<foreach collection="typeList" item="id" open="in (" close=")" separator=",">
|
|
<foreach collection="typeList" item="id" open="in (" close=")" separator=",">
|
|
#{ id }
|
|
#{ id }
|
|
</foreach>
|
|
</foreach>
|
|
- ORDER BY dbms_random.random
|
|
|
|
- ) rs where ROWNUM <![CDATA[ <= ]]> #{ questionnumber }
|
|
|
|
|
|
+ ORDER BY RAND()
|
|
|
|
+ ) rs where row_num <![CDATA[ <= ]]> #{ questionnumber }
|
|
</select>
|
|
</select>
|
|
<select id="selecteUserTestPaperQuestions" resultType="java.util.HashMap">
|
|
<select id="selecteUserTestPaperQuestions" resultType="java.util.HashMap">
|
|
select TS.TEST_QUESTION_ID, TS.BASE_QUESTION_TYPE_ID, TS.CONTENT, TS.NOTE, TS.IS_VAILD, TS.CREATETIME,
|
|
select TS.TEST_QUESTION_ID, TS.BASE_QUESTION_TYPE_ID, TS.CONTENT, TS.NOTE, TS.IS_VAILD, TS.CREATETIME,
|