SELECT * FROM stscore
WHERE 1=1
AND studentno=0
${joinarray(maparray(SubSection (studentno)," or StudentNo in "+item),"")}
可以看到后台打印出的sql信息:
INFO:Query SQL:
SELECT * FROM stscore
WHERE 1=1
AND studentno=0
or StudentNo in (1000, 1001,......, 1498, 1499) or StudentNo in ( 1500,2000, ......, 2497, 2498) or StudentNo in ( 2499, 2500, 2501, 2502, 2503, 2504, 2505)
说明:
Sql语句中
and studentno=0 //必须要有一个附加条件studentno= [数据库中肯定不存在的值] --à不取出任何值
${joinarray(maparray(SubSection (studentno)," or StudentNo in "+item),"")}
Maparray(SubSection (studentno),” or StudentNo in ”) 表示对SubSection返回的数组每个元素加上“ or StudentNo in ”注意,前后都要有空格,返回新的数组
[ or StudentNo in (1000, 1001,......, 1498, 1499), or StudentNo in ( 1500,2000, ......, 2497, 2498), or StudentNo in ( 2499, 2500, 2501, 2502, 2503, 2504, 2505)]
Joinarray(array,””)返回以空号分割的字符串,即去掉上述的“[]”
or StudentNo in (1000, 1001,......, 1498, 1499), or StudentNo in ( 1500,2000, ......, 2497, 2498), or StudentNo in ( 2499, 2500, 2501, 2502, 2503, 2504, 2505)
最终SQL即为
SELECT * FROM stscore
WHERE 1=1
AND studentno=0
or StudentNo in (1000, 1001,......, 1498, 1499) or StudentNo in ( 1500,2000, ......, 2497, 2498) or StudentNo in ( 2499, 2500, 2501, 2502, 2503, 2504, 2505)