表结构如下:
fph jcmdm bz sj sycs sycsmax xm168022 15260 1 2006-08-01 09:43:31.000 0 1 吴继林
168022 15260 1 2006-08-01 09:48:57.000 1 1 吴继林
168022 15260 -1 2006-08-01 10:16:21.000 1 1 吴继林
0137215 11696 1 2006-08-02 10:00:18.000 0 1 陈秀荣
0137215 11696 1 2006-08-02 10:00:18.000 0 1 陈秀荣
0137215 14319 1 2006-08-02 10:00:18.000 0 1 陈秀荣
0137215 14333 1 2006-08-02 10:00:18.000 0 1 陈秀荣
0137215 14334 1 2006-08-02 10:00:18.000 0 1 陈秀荣
0137215 11696 -1 2006-08-02 10:05:41.000 0 1 陈秀荣
0137215 11696 -1 2006-08-02 10:05:41.000 0 1 陈秀荣
0137215 14319 -1 2006-08-02 10:05:41.000 0 1 陈秀荣
0137215 14333 -1 2006-08-02 10:05:41.000 0 1 陈秀荣
0137215 14334 -1 2006-08-02 10:05:41.000 0 1 陈秀荣
0137226 11696 1 2006-08-02 10:05:59.000 0 1 陈秀荣
0137226 14333 1 2006-08-02 10:05:59.000 0 1 陈秀荣
0137226 14334 1 2006-08-02 10:05:59.000 0 1 陈秀荣
0137229 11696 1 2006-08-02 10:06:36.000 0 1 陈秀荣
0137229 14319 1 2006-08-02 10:06:36.000 0 1 陈秀荣
.....问题是这样:
根据 BZ 字段对表进行修改,如果同一个 XM 的结果里的BZ标志为-1的话,并且有相等的 JCXMDM,就把它们的 SYCS 设置为 SYCSMAX .
但是需要注意的是:如果这个人的结果里有只有一个 BZ 为 -1 的话,只能去修改其中的一条 BZ 为 1 的记录,并把 BZ 为负的也修改: SYCS 设置为 SYCSMAX .
如:XM = 吴继林 的记录,只能对第二条与第三条记录进行修改.
fph jcmdm bz sj sycs sycsmax xm168022 15260 1 2006-08-01 09:43:31.000 0 1 吴继林
168022 15260 1 2006-08-01 09:48:57.000 1 1 吴继林
168022 15260 -1 2006-08-01 10:16:21.000 1 1 吴继林
0137215 11696 1 2006-08-02 10:00:18.000 0 1 陈秀荣
0137215 11696 1 2006-08-02 10:00:18.000 0 1 陈秀荣
0137215 14319 1 2006-08-02 10:00:18.000 0 1 陈秀荣
0137215 14333 1 2006-08-02 10:00:18.000 0 1 陈秀荣
0137215 14334 1 2006-08-02 10:00:18.000 0 1 陈秀荣
0137215 11696 -1 2006-08-02 10:05:41.000 0 1 陈秀荣
0137215 11696 -1 2006-08-02 10:05:41.000 0 1 陈秀荣
0137215 14319 -1 2006-08-02 10:05:41.000 0 1 陈秀荣
0137215 14333 -1 2006-08-02 10:05:41.000 0 1 陈秀荣
0137215 14334 -1 2006-08-02 10:05:41.000 0 1 陈秀荣
0137226 11696 1 2006-08-02 10:05:59.000 0 1 陈秀荣
0137226 14333 1 2006-08-02 10:05:59.000 0 1 陈秀荣
0137226 14334 1 2006-08-02 10:05:59.000 0 1 陈秀荣
0137229 11696 1 2006-08-02 10:06:36.000 0 1 陈秀荣
0137229 14319 1 2006-08-02 10:06:36.000 0 1 陈秀荣
.....问题是这样:
根据 BZ 字段对表进行修改,如果同一个 XM 的结果里的BZ标志为-1的话,并且有相等的 JCXMDM,就把它们的 SYCS 设置为 SYCSMAX .
但是需要注意的是:如果这个人的结果里有只有一个 BZ 为 -1 的话,只能去修改其中的一条 BZ 为 1 的记录,并把 BZ 为负的也修改: SYCS 设置为 SYCSMAX .
如:XM = 吴继林 的记录,只能对第二条与第三条记录进行修改.
除非用先将数据写入临时表并产生标识列,然后 按标识列做相应用操作(获得第二三条记录,UPDATE),之后,TRUNCATE 原表,再将临时表的数据写回去.或者ALTER TABLE 表 ADD ID IDENTIYT(1,1),操作完后再删除这个列
语句我就不写了,跟查询差不多.写的太多了.
假如给这个表加上一个ID列的话,那该怎么写呢?
表结构如下:
ID FPh jcmdm bz sj sycs sycsmax xm1 168022 15260 1 2006-08-01 09:43:31.000 0 1 吴继林
2 168022 15260 1 2006-08-01 09:48:57.000 1 1 吴继林
3 168022 15260 -1 2006-08-01 10:16:21.000 1 1 吴继林
4 0137215 11696 1 2006-08-02 10:00:18.000 0 1 陈秀荣
5 0137215 11696 1 2006-08-02 10:00:18.000 0 1 陈秀荣
6 0137215 14319 1 2006-08-02 10:00:18.000 0 1 陈秀荣
7 0137215 14333 1 2006-08-02 10:00:18.000 0 1 陈秀荣
8 0137215 14334 1 2006-08-02 10:00:18.000 0 1 陈秀荣
9 0137215 11696 -1 2006-08-02 10:05:41.000 0 1 陈秀荣
10 0137215 11696 -1 2006-08-02 10:05:41.000 0 1 陈秀荣
11 0137215 14319 -1 2006-08-02 10:05:41.000 0 1 陈秀荣
12 0137215 14333 -1 2006-08-02 10:05:41.000 0 1 陈秀荣
13 0137215 14334 -1 2006-08-02 10:05:41.000 0 1 陈秀荣
14 0137226 11696 1 2006-08-02 10:05:59.000 0 1 陈秀荣
15 0137226 14333 1 2006-08-02 10:05:59.000 0 1 陈秀荣
16 0137226 14334 1 2006-08-02 10:05:59.000 0 1 陈秀荣
17 0137229 11696 1 2006-08-02 10:06:36.000 0 1 陈秀荣
18 0137229 14319 1 2006-08-02 10:06:36.000 0 1 陈秀荣
.....