标题:VFP SQL 完全连接问题 看内容
只看楼主
parden
Rank: 2
等 级:论坛游民
帖 子:29
专家分:36
注 册:2011-9-21
结帖率:100%
已结贴  问题点数:5 回复次数:7 
VFP SQL 完全连接问题 看内容
现在有两个表格,客户基本信息.dbf,点餐统计.dbf。然后我用SQL查询。

1 FULL JOIN
 select 客户基本信息.*,点餐统计.点餐餐厅,点餐统计.点餐时间 from 客户基本信息 FULL outer join 点餐统计 on 客户基本信息.客户代号=点餐统计.客户代号
结果如下:

注:原表还有其他的字段,我将他们拉到一起,所以图片中有几条竖线重合的地方。
试问:该如何解决。
奇怪的是昨天晚上这句命令还起作用。
2 right outer join

结果如下:

我想将两个表进行合并运算。结果是,1103有两次点餐记录。1105没有点餐记录,但是1105仍然在查询中。
出现这种情况,还真的弄不明白。SQL有点复杂。
搜索更多相关主题的帖子: 信息 餐厅 right 统计 
2011-09-30 16:58
qingxinwufua
Rank: 2
等 级:论坛游民
帖 子:21
专家分:48
注 册:2011-9-6
得分:3 
用INNER JOIN,FULL JOIN是不符合条件的都会现在表里的
2011-09-30 17:27
parden
Rank: 2
等 级:论坛游民
帖 子:29
专家分:36
注 册:2011-9-21
得分:0 
回复 2楼 qingxinwufua
这你就不对了。用Left  join就有结果。
2011-09-30 18:05
scilent
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:285
专家分:1399
注 册:2011-8-9
得分:3 
看看语法参考吧,你没有弄清这几种联接的基本意思

我估计你是想把点餐的客户信息提出来,以你的目的,我看应该是right outer join

[ 本帖最后由 scilent 于 2011-9-30 20:48 编辑 ]

在没有路的地方走一条路,让别人有路可走
2011-09-30 20:37
parden
Rank: 2
等 级:论坛游民
帖 子:29
专家分:36
注 册:2011-9-21
得分:0 
回复 4楼 scilent
我很纳闷,同样的语句在我自己的电脑上就可以按照我要求的显示,full join on把匹配的不匹配的都显示了出来。
2011-10-02 08:31
parden
Rank: 2
等 级:论坛游民
帖 子:29
专家分:36
注 册:2011-9-21
得分:0 
回复 2楼 qingxinwufua
另外,我还想对2楼说的是,内连接与外连接是不一样的。内连接求的是并集,既几个表共有的记录。外连接,分为左连接和右连接和全连接。左连接首先抽出左表中的全部记录,然后再在右表中查找对应的记录。右表中没有的,在结果中的显示会是.Null.。
2011-10-02 08:36
lbwg
Rank: 2
等 级:论坛游民
帖 子:76
专家分:53
注 册:2011-8-21
得分:0 
join用于根据两个或多个表中的列之间的关系,从这些表中查询相关数据。join表示如果表中有至少一个匹配,则返回行,left join :即使表中没有匹配,也从左表返回所有行。right join:即使表中没有匹配,也从右表返回所有行。full join:只要其中一个表中存在匹配,则返回行。
2011-10-14 09:43
ILoveVFD
Rank: 3Rank: 3
等 级:论坛游侠
威 望:3
帖 子:218
专家分:147
注 册:2015-5-2
得分:0 
学习了
2015-05-10 07:40



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




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

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