sql里的多行多列转一行多列小技巧

---恢复内容开始---

[

今天下午接受了一个紧急小任务,是将一组比赛记录统计出来,将象棋游戏玩家的两条记录在一行里面显示,进数据库看之后是首先想到的是行转列,但是一开始就觉得不对,后来写到一半确实不对,后来上网查询了半天多行多列转一行多列,发现又要写算法又要写函数,看了实在头疼,不想这么麻烦。于是自己突然间灵机一动,闪过一个小想法,立马实施,就是将所有记录前面都加上一个标识列num(row_number()函数),然后用case 判断奇偶行在显示,就行了。 select row_number() over(order by DrawID)as num,* from QPTreasureDB.dbo.RecordDrawScore where DrawID in(select DrawID from QPTreasureDB.dbo.RecordDrawInfo where KindID='400') 。不知道是不是一个小技巧呢,跟大家分享一下

pasting

---恢复内容结束---

分享、奉献、勤奋、好学
原文地址:https://www.cnblogs.com/zzlblog/p/4318488.html