| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 394 人关注过本帖
标题:库文件的关联问题
只看楼主 加入收藏
ycvf
Rank: 2
等 级:论坛游民
帖 子:210
专家分:56
注 册:2012-8-25
结帖率:75.61%
收藏
已结贴  问题点数:5 回复次数:7 
库文件的关联问题
列出三个表(A,B,C)中每个学生的学号,姓名,入学成绩,总分,身高
代码如下:
程序代码:
sele 2
use 表A
inde on 学号 to a1
sele 3
use 表B
inde on 学号 to a2
sele 1
use 表C
set relation to 学号 into B
set relation to 学号 into C additive
list 学号,姓名,入学成绩,B->总分,C->身高
表C中有入学成绩字段,表A中有总分字段,表B中有身高字段。
测试结果显示的身高的值都为0?为什么?表B中的身高是有值的呀?
搜索更多相关主题的帖子: color 
2012-10-10 12:09
wjp456789
Rank: 5Rank: 5
来 自:四川成都
等 级:职业侠客
威 望:1
帖 子:345
专家分:330
注 册:2012-6-25
收藏
得分:0 
select A.学号,A.姓名,入学成绩,总分,身高 from A,B,C where A.学号=B.学号 and B.号=C.学号
如果你是找三个表均有的学号。可以用以上命令。
如果是列出所有出现过学号的成绩。用full join实现

我是来向高手学习的!
2012-10-10 12:44
wjp456789
Rank: 5Rank: 5
来 自:四川成都
等 级:职业侠客
威 望:1
帖 子:345
专家分:330
注 册:2012-6-25
收藏
得分:0 
select * from A FULL JOIN B  ON A.学号=B.学号 FULL JOIN C ON B.学号=C.学号

我是来向高手学习的!
2012-10-10 12:53
taifu945
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:80
帖 子:1545
专家分:3298
注 册:2012-7-6
收藏
得分:0 
楼主,你倒数第二条命令是C表和自己联接?
2012-10-10 14:44
ycvf
Rank: 2
等 级:论坛游民
帖 子:210
专家分:56
注 册:2012-8-25
收藏
得分:0 
楼主,你倒数第二条命令是C表和自己联接?
第二条命令是区号,不是C表。
主要用的关联命令:
set rela to 学号 into C
据我分析,为什么关联后显示身高值均为0,可能是当前表和B表没关联上所致。书上说的是可以进行多重关联呀!请求帮助

落花人独立,微雨燕双飞。
2012-10-10 17:30
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
联错了,你看看set relation帮助中父子的格式,该从谁联到谁,要搞清楚。

授人以渔,不授人以鱼。
2012-10-10 18:54
taifu945
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:80
帖 子:1545
专家分:3298
注 册:2012-7-6
收藏
得分:5 
你三个表中的学号用的是数值型还是字符型?如果是字符型,三个表在学号字段上的宽度是否一致?若不一致,尾巴上多出来的空格可能会影响联接。另外,不需要两条命令,直接用一条命令:SET RELATION TO 学号 INTO B, 学号 INTO C 就可以了。
2012-10-11 18:41
ycvf
Rank: 2
等 级:论坛游民
帖 子:210
专家分:56
注 册:2012-8-25
收藏
得分:0 
楼上,你分析的很正确,谢谢!

落花人独立,微雨燕双飞。
2012-10-11 21:22
快速回复:库文件的关联问题
数据加载中...
 
   



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

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