我们得到SQL查询SELECT exam_id, task, variant FROM tasks WHERE exam_id=1
:
exam_id task variant
1 1 1
1 1 2
1 1 3
1 2 1
1 2 2
1 2 3
在客户端,我们生成范围[minVariant; maxVariant]
中的随机数组。 A = [minVariant; maxVariant]
。来自A的Xn是第n个相应任务的变体。
如何更改SQL查询,以便对于变体数组A = [2,3],我们将得到
exam_id task variant
1 1 2
1 2 3
表示A = [1,3]:
exam_id task variant
1 1 1
1 2 3
表示A = [a1,a2]:
exam_id task variant
1 1 a1
1 2 a2
我需要获得6个不同的任务和一个数组[1,2,2,2,3,4]
:
exam_id task variant
1 1 1
1 2 2
1 3 2
1 4 2
1 5 3
1 6 4
答案 0 :(得分:2)
我不确定你在问什么,但看起来你正在努力和多种条件。
如果您要求输入值列表,请尝试:
SELECT exam_id, task, variant FROM tasks WHERE exam_id=1 and variant in (2,3)
如果您问如何获得范围:
SELECT exam_id, task, variant FROM tasks WHERE exam_id=1 and variant>1 and variant<10
如果这是你想要完成的其他事情,请澄清