首页 新闻 搜索 专区 学院

联查排序的问题

0
悬赏园豆:15 [已解决问题] 解决于 2010-11-26 16:00

表a和b,关系为1:n

我需要将数据显示到页面,

sql如下:

select distinct a.*,b.name  from a left join b

on a.id=b.aid

但是这样做如果b.name不唯一,就会出现数量不对的情况,

如果去掉b.name,用别的方式显示,再按照b.name排序也会报错

请问这种情况如何解决

lightwalker的主页 lightwalker | 初学一级 | 园豆:14
提问于:2010-11-26 15:15
< >
分享
最佳答案
0

把distinct 去掉,所有b.name都可以检索出来了啊

收获园豆:15
wang_yb | 老鸟四级 |园豆:3277 | 2010-11-26 15:52
去掉后,排序如下: select distinct a.* from a left join b on a.id=b.aid where 1=1 order by b.name desc 会报错的
lightwalker | 园豆:14 (初学一级) | 2010-11-26 15:54
a与b是1:n的关系,页面上显示的是a的记录数,去掉distinct,数量就不对了
lightwalker | 园豆:14 (初学一级) | 2010-11-26 15:55
哦,我搞错了, b.name是拼接再显示出来的,根本不能排序,还是多谢啦。
lightwalker | 园豆:14 (初学一级) | 2010-11-26 15:59
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册