我有一个表,表有准考证号和姓名两个字段,相同准考证号只有第一个有姓名,如何将相同准考证号下没有姓名一块添加上姓名,请求各位帮忙解决
------解决方案--------------------------------------------------------
这最好是写一段小程序来做,
先将表按准考号索引
zkzh= " "
xm= " "
scan
if zkzh#考号字段
zkzh=考号字段
xm = 姓名字段
else
repl 姓名字段 with xm
endif
endscan
------解决方案--------------------------------------------------------
请试一试(vfp9.0):
CREATE CURSOR Temp (ID VARCHAR(4),Name VARCHAR(8))
INSERT INTO Temp (ID,Name) VALUES ( "1001 ", "A ")
INSERT INTO Temp (ID,Name) VALUES ( "1002 ", "B ")
INSERT INTO Temp (ID,Name) VALUES ( "1003 ", "C ")
INSERT INTO Temp (ID,Name) VALUES ( "1001 ", " ")
INSERT INTO Temp (ID,Name) VALUES ( "1002 ", " ")
INSERT INTO Temp (ID,Name) VALUES ( "1003 ", " ")
SELECT Temp
BROWSE
UPDATE Temp SET Name = A.Name ;
FROM (SELECT DISTINCT ID,Name FROM Temp WHERE !EMPTY(Name)) A ;
WHERE Temp.ID == A.ID AND EMPTY(Temp.Name)
BROWSE
------解决方案--------------------------------------------------------
VFP9:
UPDATE TT FROM ;
(SELECT 准考证号,姓名 FROM TT GROUP BY 准考证号,姓名 WHERE !ISNULL(姓名);
AND LEN(TRIM(姓名))> 0) B;
WHERE TT.准考证号=B.准考证号 SET TT.姓名 =B.姓名
------解决方案--------------------------------------------------------
VFP9.0:
SELECT 准考证号,姓名 INTO CURSOR TEMP1 FROM 原表名 WHERE !ISNULL(姓名) AND LEN(TRIM(姓名))> 0
UPDATE 原表名 SET 姓名=TEMP1.姓名 FROM TEMP1 WHERE 原表名.准考证号=TEMP1.准考证号
------解决方案--------------------------------------------------------
VFP9.0以下:
SELECT 准考证号,姓名 INTO CURSOR TEMP1 FROM 原表名 WHERE !ISNULL(姓名) AND LEN(TRIM(姓名))> 0
SELECT TEMP1
SCAN
UPDATE 原表名 SET 姓名=TEMP1.姓名 WHERE 原表名.准考证号=TEMP1.准考证号
ENDSCAN