我有一个db,有一个状态列和3个条件:
-1=受责备
0=中子
1=批准
我需要将所有寄存器分成两组:
设置1(主)-这是“主”表,最多有5个寄存器。但是所有被批准的人都必须在这个表格里——即使我们有超过5个——而且没有一个“被指责”的登记册可以在这里。
例如:
-如果我们有10个批准-主表将有10个全部批准。
-如果我们有2个批准-主表将有2个全部批准+3个中子(总共5个)-但是如果我只有1个中子和10个重复的,例如-表格将有2个全部批准+1个中子(3个寄存器)。
第2组-将有所有的责备+其余的中子-没有寄存器的限制。
情况1:状态1超过寄存器限制(5)
ID - NAME - STATUS
1 - John - 1
2 - Mary - 1
3 - Mike - 1
4 - James - 1
5 - Helen - 1
6 - Fred - 1
7 - Nick - 1
8 - Gio - 0
9 - Rick - 0
10 - May - -1
集合1将是:(所有状态1)
ID - NAME - STATUS
1 - John - 1
2 - Mary - 1
3 - Mike - 1
4 - James - 1
5 - Helen - 1
6 - Fred - 1
7 - Nick - 1
第2组将是:
8 - Gio - 0
9 - Rick - 0
10 - May - -1
情形2:(填写状态为0的表格)
ID - NAME - STATUS
1 - John - 1
2 - Mary - 1
3 - Mike - 1
4 - James - 0
5 - Helen - 0
6 - Fred - 0
7 - Nick - 0
8 - Gio - 0
9 - Rick - 0
10 - May - -1
集合1将是:(所有状态1+2,状态0)
ID - NAME - STATUS
1 - John - 1
2 - Mary - 1
3 - Mike - 1
4 - James - 0
5 - Helen - 0
第2组将是:
6 - Fred - 0
7 - Nick - 0
8 - Gio - 0
9 - Rick - 0
10 - May - -1
然后-情况3:(所有状态1+状态0小于寄存器限制-5)
ID - NAME - STATUS
1 - John - 1
2 - Mary - 1
3 - Mike - 1
4 - James - 0
5 - Helen - -1
6 - Fred - -1
7 - Nick - -1
8 - Gio - -1
9 - Rick - -1
10 - May - -1
集合1将是:(所有状态1+1和状态0-只有4个寄存器)
ID - NAME - STATUS
1 - John - 1
2 - Mary - 1
3 - Mike - 1
4 - James - 0
第2组将是:
5 - Helen - -1
6 - Fred - -1
7 - Nick - -1
8 - Gio - -1
9 - Rick - -1
10 - May - -1
你知道吗?
1条答案
按热度按时间hjzp0vay1#
通常的方法是使用sql查询收集要显示的行。它将提供选择(where子句)和排序(orderby子句)。一旦有了行,就可以根据需要使用asp来呈现html。
我把asp经典留给你。
状态为1的前5个
所有状态均为1或0
所有状态均为-1