
请问在数据库中把数据(一条行转列的sql语句)读出来了,怎么让它页面上的显示和数据库中的显示一样啊!
请高手帮忙!谢谢sql语句:selectdistincts.snoas学生编号,s.StuName学生姓名,(selectmarkfromdbo.MarkStudentc...
请高手帮忙!谢谢 sql语句:select distinct s.sno as 学生编号,s.StuName 学生姓名,
(select mark from dbo.MarkStudent c where c.sno=s.sno and cno=1000)as 计算机语言,
(select mark from dbo.MarkStudent c where c.sno=s.sno and cno=1001)as 操作系统,
(select mark from dbo.MarkStudent c where c.sno=s.sno and cno=1002)as 数据库原理
from dbo.Student s 展开
(select mark from dbo.MarkStudent c where c.sno=s.sno and cno=1000)as 计算机语言,
(select mark from dbo.MarkStudent c where c.sno=s.sno and cno=1001)as 操作系统,
(select mark from dbo.MarkStudent c where c.sno=s.sno and cno=1002)as 数据库原理
from dbo.Student s 展开
2个回答
展开全部
没太懂
表格形式显示?
id no name
1 215445 张三
这样?
表格形式显示?
id no name
1 215445 张三
这样?
更多追问追答
追问
学生编号 姓名 语文 数学 外语
1001 李四 99 85 96
1002 王五 0 68 0
1003 大刘 0 88 0
1004 绮思 0 0 99
1005 王八 98 0 0
数据库中是上面那样显示的,要页面中也跟它一样显示,这功能怎么实现啊,读取的方法怎么写,页面又怎么实现!
追答
就按正常的数据读取,一行数据就是一个对象。所有数据存入一个list中。
通过遍历list可以循环输出,动态的去构建一个table
for(stu in list){
stu.sno
}
这是伪代码,希望你理解逻辑
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-05-06
展开全部
思路大概是这样:
实用ltrim或者rtrim函数去掉左边或右边符合条件的字符。
如果是oracle环境,看你这里都是字母在前数字在后的格式,假设旧列叫 col_old,新的字母列是col_str,新的数字列是col_num
update table1 set
col_str=rtrim(col_old,'1234567890'),
col_num=to_number(ltrim(col_old,rtrim(col_old,'1234567890')))
sql server 有没有这个函数不知道了,反正这是一个思路吧。供参考而已
sql没有这个东西,那我就给你提个思路吧,语句你自己写了,我没有环境。
用ASCII码和sql的ltrim和rtrim来做,你需要循环找到从左起每个字符都是ASCII>=65(9以上即字母)的,直到找到ASCII<=64的就结束,这样可以把这个字符部分的长度得到,在用trim函数截取一下就可以了。
另外,团IDC网上有许多产品团购,便宜有口碑
实用ltrim或者rtrim函数去掉左边或右边符合条件的字符。
如果是oracle环境,看你这里都是字母在前数字在后的格式,假设旧列叫 col_old,新的字母列是col_str,新的数字列是col_num
update table1 set
col_str=rtrim(col_old,'1234567890'),
col_num=to_number(ltrim(col_old,rtrim(col_old,'1234567890')))
sql server 有没有这个函数不知道了,反正这是一个思路吧。供参考而已
sql没有这个东西,那我就给你提个思路吧,语句你自己写了,我没有环境。
用ASCII码和sql的ltrim和rtrim来做,你需要循环找到从左起每个字符都是ASCII>=65(9以上即字母)的,直到找到ASCII<=64的就结束,这样可以把这个字符部分的长度得到,在用trim函数截取一下就可以了。
另外,团IDC网上有许多产品团购,便宜有口碑
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询