sql server大虾请看,重新排序问题

caodandongxi 2016-02-26 02:44:46
DB中有两列值,如下

col1 col2
char1 char2
char3 char4
char2 char3
char4 char5

现在要求排序,输出如下内容
col1 col2
char1 char2
char2 char3
char3 char4
char4 char5


...全文
257 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
dongsheng10101 2016-03-16
  • 打赏
  • 举报
回复
WITH TABLE1 AS ( SELECT 'A' COLA, 'B' COLB UNION ALL SELECT 'G' COLA, 'K' COLB UNION ALL SELECT 'C' COLA, 'F' COLB UNION ALL SELECT 'H' COLA, 'L' COLB UNION ALL SELECT 'B' COLA, 'C' COLB UNION ALL SELECT 'F' COLA, 'D' COLB UNION ALL SELECT 'K' COLA, 'H' COLB UNION ALL SELECT 'L' COLA, 'I' COLB ) , TABLE2 AS ( SELECT COLA, COLB, COLA C1, 1 C2 FROM TABLE1 WHERE COLA NOT IN (SELECT COLB FROM TABLE1) UNION ALL SELECT A.COLA, A.COLB, B.C1, B.C2+1 FROM TABLE1 A, TABLE2 B WHERE A.COLA=B.COLB ) SELECT * FROM TABLE2 ORDER BY C1,C2 结果: COLA COLB C1 C2 ----------------------------- A B A 1 B C A 2 C F A 3 F D A 4 G K G 1 K H G 2 H L G 3 L I G 4
中国风 2016-02-26
  • 打赏
  • 举报
回复
use Tempdb
go
--> --> 
 
if not object_id(N'Tempdb..#T') is null
	drop table #T
Go
Create table #T([col1] nvarchar(5),[col2] nvarchar(5))
Insert #T
select N'char1',N'char2' union all
select N'char3',N'char4' union all
select N'char2',N'char3' union all
select N'char4',N'char5'
GO
;WITH Tab
AS
(
Select *,ROW_NUMBER()OVER(ORDER BY col1) AS ord1,ROW_NUMBER()OVER(ORDER BY col2) AS ord2 from #T
)
SELECT
a.col1,b.col2
FROM Tab AS a
	INNER JOIN Tab AS b ON a.ord1=b.ord2

/*
col1	col2
char1	char2
char2	char3
char3	char4
char4	char5
*/
顾西昂 2016-02-26
  • 打赏
  • 举报
回复

select * from  tab1 order by col1,col2
是这个意思吗
xxfvba 2016-02-26
  • 打赏
  • 举报
回复
--理解的可能有误 order by col1,col2

11,849

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 非技术版
社区管理员
  • 非技术版社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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