sql查询一个老师所带学员,横排显示,第一列显示老师名字,后面有几个学生显示几列
老师和学生的人数不确定,做应该可以做出来的,不过很烦。我把主要思路写下来,具体语句你自己写吧。将所有老师**临时表,PKID为主键
select distinct row_number()over(order by getdate())PKID,cph into#temp from[zcgl].[dbo].[jlsdxy]group by cph
declare@Count int-统计列数
declare@Sum int,@index int-老师总数量
select@Count=0,@Sum=count(*),@index=1 from#temp
while(@index)-循环**学生到临时表
begin
declare@cph varchar(50)-老师姓名
select@cph=cph from#temp where PKID=index-取出循环对应的老师名字
select distinct xm into#Temps from[zcgl].[dbo].[jlsdxy]where cph=cph-取出当前老师对应的学生
declare@StudentCount int-学生总数量
declare@StudentIndex int-循环初始值
select@StudentCount=count(xm),@StudentIndex=1 from#Temps
if(@StudentCount>@Count)-如果列数大于@Count,往临时表**列
begin
while(@Count)
begin
为临时表#temp**一列
set@Count=Count+1
end
end
declare@InsertSQL varchar(4000)-组合**语句SQL
while(@StudentIndex)
begin
在这里组合**语句列
end
while(@StudentIndex)
begin
在这里组合**语句值
end
执行**语句
查询临时表数据得到你想要的结果
end
怎么组合语句,怎么取列名自己想想吧。或许这个方法能对你有用
select distinct row_number()over(order by getdate())PKID,cph into#temp from[zcgl].[dbo].[jlsdxy]group by cph
declare@Count int-统计列数
declare@Sum int,@index int-老师总数量
select@Count=0,@Sum=count(*),@index=1 from#temp
while(@index)-循环**学生到临时表
begin
declare@cph varchar(50)-老师姓名
select@cph=cph from#temp where PKID=index-取出循环对应的老师名字
select distinct xm into#Temps from[zcgl].[dbo].[jlsdxy]where cph=cph-取出当前老师对应的学生
declare@StudentCount int-学生总数量
declare@StudentIndex int-循环初始值
select@StudentCount=count(xm),@StudentIndex=1 from#Temps
if(@StudentCount>@Count)-如果列数大于@Count,往临时表**列
begin
while(@Count)
begin
为临时表#temp**一列
set@Count=Count+1
end
end
declare@InsertSQL varchar(4000)-组合**语句SQL
while(@StudentIndex)
begin
在这里组合**语句列
end
while(@StudentIndex)
begin
在这里组合**语句值
end
执行**语句
查询临时表数据得到你想要的结果
end
怎么组合语句,怎么取列名自己想想吧。或许这个方法能对你有用
佚名
2024-05-30 04:53:34
类似问题(10)
-
佚名2024-05-30 02:12:07
问NBA2KOL显示球员名字
答这个是不行的,nba2kol里只有拿到球才可以看球员名字
-
佚名2024-05-30 05:34:47
问css如何让中文显示一个字体数字又显示另一个字体
答中文和数字可以使用不同的span标签然后分别给span加样式,这样就能区分开……
-
佚名2024-05-30 04:04:42
问列王的纷争换战盟后不显示联盟标志
答那个是你新联盟盟主没买标志,标志要话费金币,貌似要200吧,反正挺贵的,有的盟主暂时没钱或者不舍得就没买
-
佚名2024-05-30 16:31:38
问sql2008 如何使用列别名来改善查询结果的显示效果?
答select ContractID as '别名' from TS_Contract
-
佚名2024-05-30 23:18:16
问剑三角色改名后仇人列表会怎么显示?
答新改的名啊我一群基友是改名狂,天天名字改来改去,难道我还要每天去把他们一个个加回来吗,照样一直在我列表里只是名字不同啊==给他们个备注,任他们怎么改名~
-
佚名2024-05-30 00:36:59
问c# listview如何显示网格显示
答第一:设置view :Details第二:设置GridLines :True
-
佚名2024-05-30 08:00:00
问逆战游戏名字能显示几个字?
答最多能显示8个字
-
佚名2024-05-30 08:00:00
问新科一匹定频空调显示E5还望老师指点一二
答故障代码:E5故障内容:通信异常故障故障原因:1、检查插脚是否松脱接触不良或断线。2、检查内机控制电路板是否正常。3、检查外机控制电路板是否故障。4、检查主控制...
-
佚名2024-05-30 08:00:00
问王者荣耀怎么显示第几
答排位赛,点击荣耀战区,定位好后每个英雄都会有荣耀战力,打排位赢了就会加,输了就扣,每个英雄上榜的战力都要你当地的人玩的怎样。
-
佚名2024-05-30 08:00:00
问烤饼机温控显示器,有时候显示四个H,有时候显示高温
答您好 我是一名家维技师 很高兴看到您的问题 你先检查您的室内外感温头 是否坏掉 建议替换为好 如果不行 然后插上三相电 按外机压缩机开关 启动压缩机用...
风水
起名
网名
- 1 带有开的网名
- 2 微信用网名查找微信号
- 3 带有曦字的网名男生
- 4 起昵称名
- 5 诗意昵称男生名字
- 6 在线设计qq情侣昵称
- 7 微博可以昵称登录吗
- 8 可爱的两字猫咪昵称
- 9 怎么该表旺旺昵称
- 10 九黎符号昵称