| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 682 人关注过本帖
标题:关于多表查询
只看楼主 加入收藏
zmw5112
Rank: 1
等 级:新手上路
帖 子:171
专家分:0
注 册:2005-12-11
收藏
 问题点数:0 回复次数:8 
关于多表查询

我按照本论坛的提示作了一个多表查询,发现有问题,哪位朋友帮忙看看:
我有三个表
gs表:
uid gs_name gs_tel
gn表:
uid name qq
gr表:
uid gn_pro
显示页面:<a href="show.asp?uid=<%=rs("uid")%>"><%=rs("gs_name")%></a>
点击后提交页面:
strsql= "select * from gs,gn,gr where gr.uid=gn.uid and gs.uid="&request("uid")
set rs = Server.CreateObject("ADODB.Recordset")
rs.Open strsql, conn, 1, 1
显示内容为 三个表的内容,但无论怎样提交就显示第一条记录,

我是参照以下代码写的:
如果两个表中有相同的关键字
可以用这样的语句
select * from 表1,表2 where 表1.关键字=表2.关键字 and 表2.关键字="&条件
假如 表1是用户表,内容是
user_id user_name user_sex
1 小明 男
2 小雪 女
.....
表2是用户上传的图片表,内容是
picture_id user_id picture_name picture_url
1 1 好看 .....
2 2 可以 .....
3 1 好看哈  .....

"select * from 表1,表2 where 表1.user_id=表2.user_id and 表1.user_id="&1

那么就可以取到这些内容
user_id user_name user_sex picture_id picture_name picture_url
1 小明 男 1 好看 ......
1 小明 男 3 好看哈 ......

多几个表也是一样
不知道能不能满足你的问题

[此贴子已经被作者于2006-7-25 17:28:54编辑过]

搜索更多相关主题的帖子: uid name strsql 查询 
2006-07-25 16:49
hangxj
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2045
专家分:0
注 册:2006-4-10
收藏
得分:0 

现在的问题应该是你是三个表,并且三个表的uid应该是一致的吧?
那你是不是少写了一个条件呢?


http://www./
2006-07-25 17:27
chenjin145
Rank: 1
等 级:禁止访问
帖 子:3922
专家分:0
注 册:2006-7-12
收藏
得分:0 

left join 表 on
inner join 表 on


[url=javascript:alert(1);] [div]fdgfdgfdg\" on\"[/div] [/url]
2006-07-25 17:28
zmw5112
Rank: 1
等 级:新手上路
帖 子:171
专家分:0
注 册:2005-12-11
收藏
得分:0 
三个表完全以一致,就是为了满足条件才做成一致的,现在我觉得是那个,request是不是出了问题,我怀疑没有提交过来或者提交过来后没有处理,但我不清楚怎样弄,谢谢你们
2006-07-25 17:34
zmw5112
Rank: 1
等 级:新手上路
帖 子:171
专家分:0
注 册:2005-12-11
收藏
得分:0 
以下是引用chenjin145在2006-7-25 17:28:30的发言:

left join 表 on
inner join 表 on

这个是什么意思,怎样改的

2006-07-25 17:35
hangxj
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2045
专家分:0
注 册:2006-4-10
收藏
得分:0 
你加上一个 gs.uid=gr.uid 看一下

http://www./
2006-07-25 17:44
zmw5112
Rank: 1
等 级:新手上路
帖 子:171
专家分:0
注 册:2005-12-11
收藏
得分:0 
以下是引用hangxj在2006-7-25 17:44:04的发言:
你加上一个 gs.uid=gr.uid 看一下

加上后就报错了, 如果这样 gs.uid=gr.uid=gn.uid and gs.uid="&request("uid") 报类型不匹配
如果这样 gr.uid=gn.uid=gs.uid and gs.uid="&request("uid") 报bof eof 真假

2006-07-25 17:53
hangxj
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2045
专家分:0
注 册:2006-4-10
收藏
得分:0 

strsql= "select * from gs,gn,gr where gs.uid=gr.uid and gn.uid=gr.uid and gs.uid="&request("uid")

http://www./
2006-07-26 08:46
zmw5112
Rank: 1
等 级:新手上路
帖 子:171
专家分:0
注 册:2005-12-11
收藏
得分:0 

非常感谢你的指点,我按照你的方法改了但还是不行,不过经过仔细检查,我发现我犯了一个错误,原来数据库中有一个字段属性为文本,而这个UID必须为数字属性,我估计前面的方法就应该行,现在问题解决了,再次谢谢你和大家的指点

2006-07-26 09:51
快速回复:关于多表查询
数据加载中...
 
   



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

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