| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2373 人关注过本帖
标题:这个SQL语句怎么写?
只看楼主 加入收藏
provoke
Rank: 2
来 自:广州
等 级:新手上路
威 望:5
帖 子:175
专家分:0
注 册:2007-6-14
收藏
得分:0 
多此一举……为什么不在应用程序中转换?千万不要说想在查询分析器中显示这样的效果哦

爱我至爱,至死不渝!
2008-10-12 16:07
青格儿
Rank: 4
等 级:贵宾
威 望:11
帖 子:698
专家分:20
注 册:2007-7-31
收藏
得分:0 
谢谢球球版主的耐心回复。
select t3.id, t1.name+'\'+t2.name+'\'+t3.name from tb t1,tb t2, tb t3 where t1.id = t2.rootid and t2.id = t3.rootid  

用存储过程也能实现吧?感兴趣的朋友们可以试写一下,当然,不感兴趣的就不用看了。很想看看存储过程是怎么实现的,这几天在学存储过程 ,还望高手指点指点
我这有个,却出错 (显示不全三级):
create procedure GetName(@IDD int,@I int output,@Result varchar(50) output)
/*@IDD叶子节点的ID,@I是返回层级数,@Result是输出字符串*/
as
  declare @ID int  
  declare @TypeName varchar(50)  
  select @ID=f.id,@TypeName=Z.name from tb f  
  inner join tb z on z.rootid=f.id
  where z.level=@IDD
  if @Typename<>''  
     begin  
        select @i=@I+1  
        exec GetName @ID,@I output,@Result output   
        select @Result=@Result+@Typename+'-'  
     end   
  return
/*Run*/
declare @I int  
declare @Result varchar(50)  
set @Result='类别-'  
set @I=1  
exec GetName 3,@I output,@Result output
2008-10-12 21:09
gxua
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-10-13
收藏
得分:0 
这个表有问题吧
2008-10-13 13:45
青格儿
Rank: 4
等 级:贵宾
威 望:11
帖 子:698
专家分:20
注 册:2007-7-31
收藏
得分:0 
这结果都查出来了,这表有什么问题?
2008-10-13 22:23
cxwl3sxl
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:495
专家分:129
注 册:2005-11-12
收藏
得分:0 
[bo][un]球球[/un] 在 2008-10-12 10:06 的发言:[/bo]



CTE是sql2005的新增功能,有递归操作的功能,可以自己调自己。在2000里运行会报错。


sql2000里面应该可以通过函数来实现递归的调用吧

努力,哈哈,总有一天会变成高手~~~~~~因为我相信:没有办不到,只有想不到!http://t..cn/fpress
2008-10-17 22:22
天使与海豚
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2008-10-22
收藏
得分:0 
初学者, 有些看不明白!

有待进一步学习……
2008-10-23 11:13
快速回复:这个SQL语句怎么写?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023772 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved