| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1076 人关注过本帖
标题:sql语句查询问题
只看楼主 加入收藏
drychq
Rank: 1
等 级:新手上路
帖 子:114
专家分:0
注 册:2007-10-30
收藏
 问题点数:0 回复次数:3 
sql语句查询问题
我 现在有个图书类型表。。
表名:Type
   类型编号 类型名称  二级类型编号   
   TypeId   TypeName  TypeParentID
   2    外语       NULL
   17    英语       2
   18    法语       2
   19    德语       2
   1    计算机    NULL
   8    编程    1
这个里面存有2个级别的 图书类别
一级图书类别的TypeParentID 为空,二级TypeParentID 里面放的是一级图书类型编号

现在我想让查询的结果变为
类型编号  二级类型名称 一级类型名称
TypeId   TypeName  TypeName
17    英语      外语
8    编程    计算机

这条SQL语句该怎么写 啊 ???????
搜索更多相关主题的帖子: SQL 位能 语句 
2008-10-25 21:21
三断笛
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:31
帖 子:1621
专家分:1617
注 册:2007-5-24
收藏
得分:0 
怎么没有个ParentType表呢?这样的设计是不是不够规范?
作自身连接或者写个函数获取ParentTypeName,我写第二种方法,第一种太简单了
程序代码:
create function get_ParentType(@TypeID int)
returns nvarchar(50)
as
begin
declare @ParentType nvarchar(50);
declare @ParentTypeID int ;
---获取ParentTypeID
select top 1 @parentTypeID=typeid from type where typeId=@typeid;

---获取ParentTypeID对应的TypeName
select top 1 @ParentType=typename from type where typeID=@ParenttypeID;
return @ParentType;
end

---调用
select typeId,typeName,dbo.get_ParentType(TypeID) ParentType From Type
手写的没验证了,自己试下,有问题再发上来
2008-10-25 22:53
drychq
Rank: 1
等 级:新手上路
帖 子:114
专家分:0
注 册:2007-10-30
收藏
得分:0 
这样 写 是可以
 但是这样如果是一级图书类型的话
typeName,ParentType会显示一样的一级类型名称
 我需要二级类型名称不显示
2008-10-25 23:39
三断笛
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:31
帖 子:1621
专家分:1617
注 册:2007-5-24
收藏
得分:0 
有上面那个函数了,你自己改一下吧,很简单了,全说出来就没意义了,自己动动脑子,函数改动一下就OK了
2008-10-26 00:30
快速回复:sql语句查询问题
数据加载中...
 
   



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

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