设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 116|回复: 5
打印 上一主题 下一主题

[求助]多表查询,但又重复显示!

[复制链接]
跳转到指定楼层
1#
发表于 2010-1-20 05:01:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用如下代码构造查询语句,并加循环:
strsql="SELECT * FROM (gs LEFT JOIN gr ON gs.uid = gr.uid) LEFT JOIN gn ON gs.uid = gn.uid;"
能正常查询,但结果处理没有达到理想效果,如下:
gs gn gr (表)
A公司 张三 123
B公司 李四 345
B公司 王五 345
C公司 赵六 456
C公司 赵六 567
结果是当gn表或者gr表有相同uid,他就全部显示出来,有什么方法能处理成这样:gs处理一次(rs.movenext显示所有公司),gn、gr针对公司uid循环;
或者这样:
gs、gn、gr表里的内容显示一次,有相同uid扔掉,不知道有没有描述清楚,我想得到的实际效果如下:
结果一:
gs gn gr (表)
A公司 张三 123
[知识问答ωωω.χiuGoo.сom]
B公司 李四 345
王五
C公司 赵六 456
567
以上如果构造三次SQL是可以的,但是要提交uid,并针对gn、gr rs.movenext显示所有
结果二:

gs gn gr (表)
A公司 张三 123
B公司 李四 345
C公司 赵六 456
以上如果构造三次SQL是可以的,但是要提交uid,才能显示gn、gr的内容,可用gs.uid=gr.uid and gs.uid=&requ......
现在我不想用提交uid的方式查询,直接用上面的SQL语句,显示所有并达到上面的两种结果中的一种,请问有什么方法可以解决,用更改SQL语句吗?谢谢大家
2#
发表于 2010-1-20 05:01:52 | 只看该作者
用INNER JOIN试试
回复 支持 反对

使用道具 举报

3#
发表于 2010-1-20 05:01:56 | 只看该作者
还挺奇怪,返回结果是和上面一样的,不知道什么原因
回复 支持 反对

使用道具 举报

4#
发表于 2010-1-20 05:02:00 | 只看该作者
我又查了SQL资料,据说用DISTINCT可以筛选重复资料,可还是不行啊
回复 支持 反对

使用道具 举报

5#
发表于 2010-1-24 03:05:10 | 只看该作者
强烈支持。楼主万岁
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-20 13:30 , Processed in 0.112476 second(s), 8 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

快速回复 返回顶部 返回列表