以有效的方式重组数据表

时间:2015-03-12 05:48:31

标签: c# asp.net

我需要生成动态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

然后我会得到我预期的输出

然而,任何其他方式都可以实现我的目标吗?因为我想到的方法不是很有效!请建议

0 个答案:

没有答案