我需要生成动态caml查询,并且由于要求,我的系统允许用户对搜索条件进行分组
用户输入
Group | FieldName | LogicOperator | Value | AndOrTag
------+-----------+---------------+-------+----------
1 | TITLE | Eq | 2 | And
NULL | TITLE | Eq | 1 | Or
1 | TITLE | Eq | 1 | And
2 | TITLE | Eq | 3 | NULL
上面的表格是我的数据表,由于要求,我需要将表格排序到输出
预期输出
Group | FieldName | LogicOperator | Value | AndOrTag
------+-----------+---------------+-------+----------
1 | TITLE | Eq | 2 | And
1 | TITLE | Eq | 1 | And
2 | TITLE | Eq | 3 | NULL
NULL | TITLE | Eq | 1 | Or
系统限制用户仅选择最多2个组。无效,1或2。
重组,我能想到的是
创建4个数据表
第1组的datatable1
第2组的datatable2
datatable3 for null
datatable4 for All
首先,我将循环原始输入值
如果记录属于组1,则插入到datatable1
如果记录属于第2组,则插入到datatable2
如果记录不属于任何组,则插入到datatable3
一旦完成循环
我将通过序列将数据泵送到datatable4
将datatable1数据泵入datatable4
将datatable2数据泵入datatable4
将datatable3数据泵入datatable4
然后我会得到我预期的输出
然而,任何其他方式都可以实现我的目标吗?因为我想到的方法不是很有效!请建议