| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1881 人关注过本帖
标题:一个SQL语句问题!
只看楼主 加入收藏
fsx
Rank: 1
来 自:广西南宁
等 级:新手上路
帖 子:278
专家分:0
注 册:2005-11-9
结帖率:100%
收藏
 问题点数:0 回复次数:17 
一个SQL语句问题!
有a,b两个表.
a表有两个字段(id,name)id唯一;b表也有两个字段(mainid,pic)mainid有多个相同的值,b表mainid字段值等于a表的id值。
  a表               b表
id  name         mainid   pic
1   张三           1      图片
2   李四           1      文字
3   赵五           2      图片
                   3      图片
我想从a表中得到name的值,从b表中得到pic的值,条件是b表中去掉mainid重复记录,只取一条。
就是b表中去掉mainid相同值的记录,只取其中一条就可以了。并且只取两条记录。
如读取值为:
李四 图片
赵五 图片
请问该如何写SQL语句呢?谢谢了~!

[[it] 本帖最后由 fsx 于 2008-4-23 20:11 编辑 [/it]]
搜索更多相关主题的帖子: SQL 语句 mainid name 字段 
2008-04-23 20:10
fsx
Rank: 1
来 自:广西南宁
等 级:新手上路
帖 子:278
专家分:0
注 册:2005-11-9
收藏
得分:0 
自己顶一下

做你喜欢做的事
2008-04-24 08:44
残影留香
Rank: 1
来 自:广西南宁
等 级:新手上路
帖 子:193
专家分:0
注 册:2008-3-19
收藏
得分:0 
sql="select a.id,a.name,b.mainid,b.pic from a,b where a.id=b.mainid order by id desc"
用这个试试,主要的思路是实现多表查询!希望能给你有所帮助!
2008-04-24 10:05
fsx
Rank: 1
来 自:广西南宁
等 级:新手上路
帖 子:278
专家分:0
注 册:2005-11-9
收藏
得分:0 
先谢谢了。
但我想读取时去掉b表中mainid重复的记录,取其中一条。
如:mainid 有1,1,2 只取1,2记录就行了。

做你喜欢做的事
2008-04-24 10:52
hebingbing
Rank: 6Rank: 6
来 自:黄土高坡
等 级:贵宾
威 望:27
帖 子:3417
专家分:371
注 册:2007-10-22
收藏
得分:0 
select a.name,distinct(b.pic)as pic from a,b where a.id=b.mainid
2008-04-24 12:28
fsx
Rank: 1
来 自:广西南宁
等 级:新手上路
帖 子:278
专家分:0
注 册:2005-11-9
收藏
得分:0 
把distinct放在后面,提示“表达式中 'distinct' 函数未定义”

做你喜欢做的事
2008-04-24 16:29
hebingbing
Rank: 6Rank: 6
来 自:黄土高坡
等 级:贵宾
威 望:27
帖 子:3417
专家分:371
注 册:2007-10-22
收藏
得分:0 
哦,那样不对,我给你的代码不对……
我疏忽了,b表重复的是mainid不是pic字段,这样的话你可以建立一个临时表……但是由于c#和数据库的连接是断开式连接,所以在用临时表的时候连接是不能关闭的。
所以我觉得最好的办法就是建立一个试图或者存储过程……
但是要是你的pic没有重复的情况的话你试试下面的代码可不可以……
select a.id,a.name,b.mainid,b.pic from a,b where a.id=b.mainid and b.pic in (select distinct(mainid)as id,pic from b)
2008-04-24 16:53
hebingbing
Rank: 6Rank: 6
来 自:黄土高坡
等 级:贵宾
威 望:27
帖 子:3417
专家分:371
注 册:2007-10-22
收藏
得分:0 
select a.id,a.name,mainid=min(b.mainid),b.pic from a,b where a.id=b.mainid order by b.mainid desc
这样应该可以……
你试试吧……
2008-04-24 17:04
fsx
Rank: 1
来 自:广西南宁
等 级:新手上路
帖 子:278
专家分:0
注 册:2005-11-9
收藏
得分:0 
仍然不得,提示:"试图执行的查询中不包含作为合计函数一部分的特定表达式 'id' "

还是非常感谢你!

做你喜欢做的事
2008-04-24 19:49
hebingbing
Rank: 6Rank: 6
来 自:黄土高坡
等 级:贵宾
威 望:27
帖 子:3417
专家分:371
注 册:2007-10-22
收藏
得分:0 
两个都不行吗?你确定在执行完所有操作前没有关闭数据连接……
2008-04-24 20:12
快速回复:一个SQL语句问题!
数据加载中...
 
   



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

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