sql根据另一个表的某个相同字段进行排序?

ClsData 2007-12-24 04:22:37
有一个语句
select distinct top 3 Name,orderflag from SD order by orderflag asc

输出数据
name orderflag
d 1
c 2
b 3

另一个表中也有name这个字段,并且不会有重复等问题

如果不需要根据第一条语句进行排序搜出来的是这样的

SELECT name FROM C where id in
(select id from C where seid=37)
name seid
b 37
c 37
d 37

可是我现在的问题是要根据第一条输出的name对第二条返回的结果集进行排序
让他的name和第一条结果集的一样(重复、个数不同、名称不同不考虑)
输出应该是
name seid
d 37
c 37
b 37

请前辈指导
...全文
312 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
echiynn 2007-12-24
  • 打赏
  • 举报
回复

select
SD.name, C.seid
from
SD inner join C
on SD.name = C.name
where
C.seid = 37
order by
SD.orderflag
-狙击手- 2007-12-24
  • 打赏
  • 举报
回复
declare @t table(name char(1),orderflag  int)
insert @t select 'd',1
insert @t select 'c',2
insert @t select 'b',3

declare @tb table(name char(1),seid int)
insert @tb select 'b',37
insert @tb select 'c',37
insert @tb select 'd',37

select * from @tb

select b.*
from @tb b
left join @t a on a.name = b.name
order by a.orderflag

/*
name seid
---- -----------
b 37
c 37
d 37

(所影响的行数为 3 行)

name seid
---- -----------
d 37
c 37
b 37

(所影响的行数为 3 行)
*/

34,837

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧