| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2373 人关注过本帖
标题:这个SQL语句怎么写?
取消只看楼主 加入收藏
青格儿
Rank: 4
等 级:贵宾
威 望:11
帖 子:698
专家分:20
注 册:2007-7-31
结帖率:87.5%
收藏
 问题点数:0 回复次数:4 
这个SQL语句怎么写?
id level rootid name
1   1      0     水果
2   2      1     瓜类 
3   3      2    西瓜
4   3      2     哈密瓜
……
显示:
id  name
3   水果/瓜类/西瓜
4   水果/瓜类/哈密瓜

也就是显示成
level 
1/2/3这样的格式 的name

这个SQL语句怎么写?请SQL高手帮我看看,怎么拼接 ?
搜索更多相关主题的帖子: SQL 语句 
2008-10-10 18:03
青格儿
Rank: 4
等 级:贵宾
威 望:11
帖 子:698
专家分:20
注 册:2007-7-31
收藏
得分:0 
辛苦版主了,那么晚了还在写程序。
呵呵,不过,有点问题啊

SET @tn=N'水果'
这里你定义了查询水果类,嗯,我要是想示所有的分类的呢?我用SQL2005运行了上面的,没出错,也查出了水果类,可我的表中不只水果类。

我项目用的数据库是SQL2000,我执行上面的代码,却报错:
在关键字 'WITH' 附近有语法错误。(我怎么改,它都不对?SQL2000里用不了with as ?)
with as 我查了下,它可以提高查询速度(用来做子查询用的)嗯,它都有什么用法,能简单给我讲下吗?
2008-10-11 11:47
青格儿
Rank: 4
等 级:贵宾
威 望:11
帖 子:698
专家分:20
注 册:2007-7-31
收藏
得分:0 
看不明白?我没表达清楚?(你们把球球版主的代码,运行一下,看看能不能明白?)

简单来说,就是从表中查询出level为3的name 列表 ,但要求显示
name时,按层级显示,显示成 层级为1/2/3的 name格式 
如: id  name
   3   水果(它的level为1)/瓜类(level 2)/西瓜(level 3)

也许是我语言表达能力不行,嗯,简单理解为,怎么从上述表(1楼)中,查询出(1楼 显示)下面的那个结果。这SQL怎么写?
2008-10-11 11:58
青格儿
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
青格儿
Rank: 4
等 级:贵宾
威 望:11
帖 子:698
专家分:20
注 册:2007-7-31
收藏
得分:0 
这结果都查出来了,这表有什么问题?
2008-10-13 22:23
快速回复:这个SQL语句怎么写?
数据加载中...
 
   



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

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