标题:两表合并问题。
只看楼主
schtg
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:https://t.me/pump_upp
等 级:贵宾
威 望:67
帖 子:1355
专家分:2534
注 册:2012-2-29
得分:0 
回复 20楼 ycvf
汇总表中的班级1,或班级2的签到数据来自A1、A2表,自己定义的,当然就该知道没有签到的,来自A1,还是A2啦?直接赋值就可以,我的理解对吗?
2017-12-06 18:41
ycvf
Rank: 2
等 级:论坛游民
帖 子:209
专家分:56
注 册:2012-8-25
得分:0 
以下是引用schtg在2017-12-6 18:41:56的发言:

汇总表中的班级1,或班级2的签到数据来自A1、A2表,自己定义的,当然就该知道没有签到的,来自A1,还是A2啦?直接赋值就可以,我的理解对吗?

主要是合并后做标记!
A1表中有A2没有的数据,要在班级1中做特殊标记。

落花人独立,微雨燕双飞。
2017-12-06 19:01
schtg
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:https://t.me/pump_upp
等 级:贵宾
威 望:67
帖 子:1355
专家分:2534
注 册:2012-2-29
得分:0 
回复 22楼 ycvf
吹版正解,将就在他的程序上稍作修改,试一试,不知可否?

UPDATE A1 SET 签到2="*"  WHERE EMPTY(签到2)
UPDATE A2 SET 签到1="*"  WHERE EMPTY(签到1)

SELECT * FROM A2 INTO CURSOR tmp READWRITE
INSERT INTO tmp (身份证) SELECT 身份证 FROM A1 WHERE 身份证 NOT in (SELECT 身份证 FROM A2)
UPDATE tmp SET;
    tmp.姓名=A1.姓名,;
    tmp.学校=A1.学校,;
    tmp.签到2=A1.签到2;
    from A1 WHERE tmp.身份证==A1.身份证

UPDATE tmp SET tmp.签到1="特殊标记" WHERE EMPTY(tmp.签到1) AND NOT EMPTY(签到2)
SELECT * FROM tmp
=================================================================================

仅供参考,我纯属业余爱好,工作之余帮忙整理一些数据,主要从事成绩统计、分析工作,VFP不是主业,不好意思!

 
2017-12-06 19:43
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
回复 20楼 ycvf
文字写了不少,好象还没表达清楚。
这样吧,两个表也就几条记录,先把两个表数据贴出来,解释一下,再将所要的合并结果贴出来。
2017-12-06 19:44
ycvf
Rank: 2
等 级:论坛游民
帖 子:209
专家分:56
注 册:2012-8-25
得分:0 
以下是引用吹水佬在2017-12-6 19:44:37的发言:

文字写了不少,好象还没表达清楚。
这样吧,两个表也就几条记录,先把两个表数据贴出来,解释一下,再将所要的合并结果贴出来。

表1
   xm       sfz                 qiandao1
  许仙   526550199812513158       是   
  续应   52655019951251315x              
  也先   526550199010013132       是

表2
   xm       sfz                 qiandao2
  许仙   526550199812513158         
  王宝瑞 526550199012513168       是      
  梁冰   526550199510013178       是
  也先   526550199010013132       是

合并表
     xm       sfz                 qiandao1    qiandao2
  许仙   526550199812513158       是             否
  续应   52655019951251315x       否           无此人
  也先   526550199010013132       是             是
  王宝瑞 526550199012513168      无此人          是      
  梁冰   526550199510013178      无此人          是



 

落花人独立,微雨燕双飞。
2017-12-06 20:34
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:5 
楼主金口玉言

select nvl(表1.xm,表2.xm) xm,nvl(表1.sfz,表2.sfz) sfz,;
iif(empty(qiandao1),"否",iif(isnull(qiandao1),"无此人","是"))+space(8) qiandao1,;
iif(empty(qiandao2),"否",iif(isnull(qiandao2),"无此人","是"))+space(8) qiandao2 from 表1 full join 表2 on 表1.sfz=表2.sfz

[此贴子已经被作者于2017-12-6 22:03编辑过]


坚守VFP最后的阵地
2017-12-06 21:34
ycvf
Rank: 2
等 级:论坛游民
帖 子:209
专家分:56
注 册:2012-8-25
得分:0 
运行后提示错误
123.rar (19.73 KB)


[此贴子已经被作者于2017-12-7 11:29编辑过]


落花人独立,微雨燕双飞。
2017-12-07 11:28
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
回复 27楼 ycvf
错误提示什么?
对照一下代码中的表名和字段名是否一致。
2017-12-07 11:33
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
以下是引用ycvf在2017-12-7 11:28:36的发言:

运行后提示错误

错误是你造成的,把代码重新抄写一遍吧

坚守VFP最后的阵地
2017-12-07 11:33



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-483137-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021884 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved