| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3622 人关注过本帖
标题:两表合并问题。
只看楼主 加入收藏
schtg
Rank: 12Rank: 12Rank: 12
来 自:https://t.me/pump_upp
等 级:贵宾
威 望:67
帖 子:1542
专家分:3003
注 册: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: 12Rank: 12Rank: 12
来 自:https://t.me/pump_upp
等 级:贵宾
威 望:67
帖 子:1542
专家分:3003
注 册: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
等 级:版主
威 望:451
帖 子:10537
专家分:42927
注 册: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
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9796
专家分:26886
注 册: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
等 级:版主
威 望:451
帖 子:10537
专家分:42927
注 册:2014-5-20
收藏
得分:0 
回复 27楼 ycvf
错误提示什么?
对照一下代码中的表名和字段名是否一致。
2017-12-07 11:33
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9796
专家分:26886
注 册:2012-2-5
收藏
得分:0 
以下是引用ycvf在2017-12-7 11:28:36的发言:

运行后提示错误

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

坚守VFP最后的阵地
2017-12-07 11:33
快速回复:两表合并问题。
数据加载中...
 
   



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

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