| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 395 人关注过本帖
标题:做这个四个表的语句是什么的呢? 只有符合house和xiaofei这个两个表的数据都 ...
只看楼主 加入收藏
liaohongchu
Rank: 1
等 级:新手上路
帖 子:133
专家分:0
注 册:2008-4-25
结帖率:78.72%
收藏
已结贴  问题点数:19 回复次数:3 
做这个四个表的语句是什么的呢? 只有符合house和xiaofei这个两个表的数据都显示出来。
sql="select b.*,a.house_no,a.house_id,a.house_s_id,c.jiaoxing_time,d.birthday_m,d.birthday_d from xiaofei b,house a,xiaofei_jiaoxing c,ka d where a.house_id=b.house_id and b.ruzhu_time is not null and b.id *=c.xiaofei_id and b.ka_no *=d.ka_no"
这条语句本来在SQL SERVER2000 可以显示数据出来的 。

但我换了SQL SERVER 2005的后 就显示不出来数据了。

我找到好像是这里的问题  b.id *=c.xiaofei_id and b.ka_no *=d.ka_no  

这里的
house和xiaofei这个两个表是有通过house_id联系的。

xiaofei和下面两表的联系要通过在预定房间的时间 选择相应或填写的时候在联系起来的
xiaofei_jiaoxing表    ka表

那么做这个四个表的语句是什么的呢? 只有符合house和xiaofei这个两个表的数据都显示出来。
本来sql="select b.*,a.house_no,a.house_id,a.house_s_id,c.jiaoxing_time,d.birthday_m,d.birthday_d from xiaofei b,house a,xiaofei_jiaoxing c,ka d where a.house_id=b.house_id and b.ruzhu_time is not null and b.id *=c.xiaofei_id and b.ka_no *=d.ka_no" 是实现了,但换了2005数据库就显示不出来数据了?为什么呢?
搜索更多相关主题的帖子: house 数据 语句 xiaofei 
2010-03-19 10:22
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:9 
在from子句中用left outer join ...on 不要将连接条件放到到where子句!

★★★★★为人民服务★★★★★
2010-03-19 20:13
czyzhuo
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:17
帖 子:230
专家分:1459
注 册:2010-3-11
收藏
得分:9 
SQL SERVER 2005的表连接和2000已经不一样了
select b.*,a.house_no,a.house_id,a.house_s_id,c.jiaoxing_time,d.birthday_m,d.birthday_d from xiaofei b,house a,xiaofei_jiaoxing c,ka d where a.house_id=b.house_id and b.ruzhu_time is not null and b.id *=c.xiaofei_id and b.ka_no *=d.ka_no
以上这种连接方法往后会被取消
以后要采用join 来进行连接表
2010-03-24 12:33
czyzhuo
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:17
帖 子:230
专家分:1459
注 册:2010-3-11
收藏
得分:0 
    一般有全连接:full outer join
    左连接let join
    右连接right join
    内连接inner join

    (1) inner join:内部连接,两表都满足的组合
    (2) full outer join:全连接,两表相同的组合在一起,A表有,B表没有的数据显示为NULL,同样,B表有,A表没有的数据显示为NULL。    l
    (3) A表 left join  B表:左连,以A表为基础,A表的全部数据,B表有的组合。没有的为null
    (4) A表 right join B表:右连,以B表为基础,B表的全部数据,A表的有的组合。没有的为null


2010-03-24 12:40
快速回复:做这个四个表的语句是什么的呢? 只有符合house和xiaofei这个两个表的 ...
数据加载中...
 
   



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

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