| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2157 人关注过本帖, 1 人收藏
标题:用 sql 语句三表内联为什么结果不正确,但分别二二联接后新表与第 3 个表内 ...
只看楼主 加入收藏
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1547
专家分:184
注 册:2006-6-3
收藏
得分:0 
以下是引用sdta在2014-9-10 12:46:45的发言:

自顾自说
裁取于VFP6帮助文件中视图设计器”中指定的内部联接,及它在 SELECT-SQL 语句中的表示
图片附件: 游客没有浏览图片的权限,请 登录注册
它三个表内联书写格式见命令框中所示
2014-09-10 14:30
taifu945
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:80
帖 子:1545
专家分:3298
注 册:2012-7-6
收藏
得分:0 
三表以上联接的命令格式一般是:

SELECT * ;
   FROM T1 ;
      JOIN T2 ON T1、T2间的联接条件 ;
      JOIN T3 ON T1、T3间的联接条件(或T2、T3间的联接条件);
      ... ...

而不是楼主所示的联接归联接写,条件归条件写。
2014-09-10 16:44
qingfameng
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:35
帖 子:964
专家分:3019
注 册:2010-2-6
收藏
得分:0 
.    .

[ 本帖最后由 qingfameng 于 2014-9-11 15:00 编辑 ]
2014-09-10 21:39
liuxingang28
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:山东济南
等 级:贵宾
威 望:47
帖 子:658
专家分:2180
注 册:2014-2-7
收藏
得分:20 
楼主遇到的问题,现解答如下:
1. 对于三表(t1、t2、t3)连接的问题,如果使 t1 与 t2 连接、t2 与 t3 连接,应采用如下格式:
select * from t1 inner join t2 inner join t3 on t2.id = t3.id on t1.id = t2.id
一定要注意:先写t2与t3的连接条件(on t2.id=t3.id),再写 t1 与 t2 的连接条件(on t1.id=t2.id)

2. 如果使 t1 与 t2 连接,t1 与 t3 连接,应采用如下格式:
select * from t1 inner join t2 on t1.id = t2.id inner join t3 on t1.id = t3.id

综上所述,如果将楼主的代码作如下修改,即可得到正确的结果:
select * from ls1 inner join ls2 inner join ls3 on ls12报名点代码=ls3.报名点代码 on ls1.报名点代码=ls2.报名点代码

泉城飞狐
2014-09-11 11:12
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1547
专家分:184
注 册:2006-6-3
收藏
得分:0 
liuxingang28班主的解答附合我意。谢谢!
2014-09-11 12:27
wmcwww
Rank: 2
等 级:论坛游民
威 望:1
帖 子:60
专家分:21
注 册:2012-11-2
收藏
得分:0 
你的写法是表2和表3都与表1 内联
2014-09-12 10:38
快速回复:用 sql 语句三表内联为什么结果不正确,但分别二二联接后新表与第 3 个 ...
数据加载中...
 
   



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

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