一个排序的问题!!!!!!!!!!急!!!!!!!!

qiudong_5210 2011-05-07 01:49:51

--A 表:
LoginName Name Address
test1 test1 北京
test2 test2 上海
test3 test3 广州
test4 test4 重庆
--b 表:
LoginName ord1 ord2 ord3
test1 ord1_abc ord2_abc ord3_abc
test2 ord4_def ord5_def ord6_def




查询A表的数据的时候,根据b表中的ord1 ord2和ord3排序

我打算用len(ord1+ord2+ord3)
进行排序
在条件查询的时候会出现重复的数据,不知道是什么情况,例如根据名字进行模糊查询的时候会出现重复的xxx
...全文
52 点赞 收藏 11
写回复
11 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
qgfudi 2011-05-07
select a.*,b.*
from a表 a, left join b表 b
on a.LoginName=b.LoginName
order by b.ord1,b.ord2,b.ord3
回复
qiudong_5210 2011-05-07

select a.LoginName,a.Name,a.Address,(select len(ord1+ord2+ord3) from b where b.LoginName=a.LoginName) as lenOrd
from a
order by lenOrd
回复
东方小烈 2011-05-07
你说清楚点,真的让人不解
回复
快溜 2011-05-07
其实我不知道你在说什么。真的
回复
qiudong_5210 2011-05-07
色狼帮我看一下这样对不对,

因为ord1,ord2,ord3里的数据的格式都有规则的
所以就根据这三列的长度去排序

在查询A表数据的时候,把这三列组合成新的一列,然后根据这个新的列去排序
回复
qiudong_5210 2011-05-07
有时还会和另外一张表有联系
回复
qiudong_5210 2011-05-07
[Quote=引用 4 楼 ssp2009 的回复:]

那就A表left join B表,不过有可能b表为空。
[/Quote]

可否写一下??
很久没用过join了
回复
快溜 2011-05-07
那就A表left join B表,不过有可能b表为空。
回复
qiudong_5210 2011-05-07
请问一下,A表中有五条数据
b表中有三条数据,
那么查询出来的是几条数据?

能不能把A表中的所有数据都查询出来,再根据b表中的那三列进行排序啊?
回复
快溜 2011-05-07
select a.* from A表 a,B表 b 
where a.LoginName=b.LoginName order by b.ord1,b.ord2,b.ord3
回复
SQL77 2011-05-07
SELECT A.* FROM A,B WHERE A.LoginName =B.Name ORDER BY B.ord1, B.ord2 , B.ord3
回复
相关推荐
发帖
疑难问题
创建于2007-09-28

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2011-05-07 01:49
社区公告
暂无公告