sql问题!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(online)

HHH3000 2003-11-19 06:03:41
比如说,有一张表里面有三个字段,
一个是主键id,第二个是公司的name,第三个是上级公司id,
如果一个公司没有上级公司,那么上级公司id为“-1”,
否则为上级公司在该表中的id,
记录如下:
主id 公司name 上级公司id
1 aaa -1
2 bbb 1
3 ccc 1
4 ddd 2
这个表说明aaa是一家没有上级公司的单位,而bbb和ccc的上级公司是aaa公司,
同时ddd的上级公司是bbb公司。说明完毕.
先求一句sql语句,
比如说我要查找公司ddd的name,同时还要查出它的上级公司bbb的name,
希望高手指点!!!!!!急!!!!
...全文
27 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
eru 2003-11-19
  • 打赏
  • 举报
回复
假设你的表名为t1

select a.*,b.公司name from t1 a left outer join t1 b on(a.上级公司id=b.主id)
where a.主id=2

查出的是bbb的记录,其他的你改改where后的条件就ok了
HHH3000 2003-11-19
  • 打赏
  • 举报
回复
感谢小马哥的积极帮助!
特此加分!以示感谢!!!
yoki 2003-11-19
  • 打赏
  • 举报
回复
create table company(主id int,公司name varchar(20),上级公司id int)
insert into company select 1, 'aaa', -1
insert into company select 2, 'bbb', 1
insert into company select 3, 'ccc', 1
insert into company select 4, 'ddd', 2

go

create proc DirTree (@name varchar(20))
as
declare @result varchar(1000)
declare @ int
select @=主id from company where 公司name=''+ @name +''
set @result=''
while exists (select 1 from company where 主id= @ )
begin
select @result=@result+公司name+' | ' ,@=上级公司id
from company
where 主id=@
end
select @result as 公司name
go

exec DirTree 'ddd'
go
select * from company
go
drop table company
drop proc dirtree
HHH3000 2003-11-19
  • 打赏
  • 举报
回复
拜托各位大虾能不能按我的例子写出这个sql语句!!!!
先谢谢了!!!!!
pengdali 2003-11-19
  • 打赏
  • 举报
回复
/*--按父找子--*/
declare @a table (TC_Id int,TC_PID int,TC_Name varchar(200))
insert @a values(1,0,'中国')
insert @a values(2,0,'美国')
insert @a values(3,0,'加拿大')
insert @a values(4,1,'北京')
insert @a values(5,1,'上海')
insert @a values(6,1,'江苏')
insert @a values(7,6,'苏州')
insert @a values(8,7,'常熟')
insert @a values(9,6,'南京')
insert @a values(10,6,'无锡')
insert @a values(11,2,'纽约')
insert @a values(12,2,'旧金山')

declare @tmp1 table (TC_Id int,TC_PID int,TC_Name varchar(200),lev int)
insert @tmp1 select *,1 from @a where tc_ID=1
while @@rowcount>0
insert @tmp1 select a.*,1 from @a a,@tmp1 b where a.tc_pid=b.tc_ID and a.tc_ID not in (select tc_ID from @tmp1)
select * from @tmp1
txlicenhe 2003-11-19
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/topic/2285/2285830.xml?temp=.1570551

/*--树形数据处理方案

树形数据的排序,新增,修改,复制,删除,数据完整性检查,汇总统计
--邹建 2003.9--*/
Discuz!NT 3.0.0 SQL Server正式版源码 该版本几乎与官方源码相同,需要编译安装才能使用,如果在安装过程中有任何问题请直接下载免安装版: Discuz!NT 3.0 版本针对SQL Server 2005/2008的新特性做了存储过程的全面优化,解决了以前版本存储过程因SQL Server2000语法限制造成若干存储过程无法被编译的问题,全面提升数据库运行效率。从Discuz!NT官方得知,目前新版本在官方网站的测试结果良好,showtopic等页面速度提升明显,同时服务器压力也有所降低。 在系统稳定性方面,Discuz!NT 3.0的系统重构消灭了所有重复代码,同时将数据和逻辑层进行了彻底分离,避免增加功能时重复数据方法的可能。官方开发人员表示:虽然本次重构的效果短时间内不明显,但是这次重构将为以后版本增加功能打下坚实的基础! 在整体的UI和用户体验设计方面,Discuz!NT3.0在保留传统风格的同时吸取了Discuz! 7.0大量被用户肯定的设计元素,形成了Discuz!NT自有的风格。首页的快速发主题可以让大论坛里面只关注某个版块的用户方便分享自己最新的事情,还有弹窗方式的快速登录、注册、发帖、编辑帖子等等快捷的功能,将有更好的用户体验效果。 另外,Discuz!NT 3.0的API进行了全面开放,发帖、回复、创建用户、修改用户资料积分、创建版块、获取版块列表、获取帖子列表等功能可以让开发者很轻松的二次开发或者系统整合。3.0版本API取消了2.6版本中API许多功能受到session的限制,3.0版本API可以授权应用程序任意的修改用户密码等一系列操作,真正方便二次开发。值得一提的是,Discuz!NT 3.0采用了一系列加密算法来保证安全性,Discuz!NT 官方发布的API应用都可以放心使用,第三方开发的应用需要经过Discuz!NT 官方认证,用户大可以放心使用。Discuz!NT 3.0的API的又一大改进是支持客户端调用,基于安全考虑,官方对客户端调用程序进行了严格的功能限制。
Discuz!NT 3.0.0 SQL Server免安装版源码 Discuz!NT 3.0 版本针对SQL Server 2005/2008的新特性做了存储过程的全面优化,解决了以前版本存储过程因SQL Server2000语法限制造成若干存储过程无法被编译的问题,全面提升数据库运行效率。从Discuz!NT官方得知,目前新版本在官方网站的测试结果良好,showtopic等页面速度提升明显,同时服务器压力也有所降低。 在系统稳定性方面,Discuz!NT 3.0的系统重构消灭了所有重复代码,同时将数据和逻辑层进行了彻底分离,避免增加功能时重复数据方法的可能。官方开发人员表示:虽然本次重构的效果短时间内不明显,但是这次重构将为以后版本增加功能打下坚实的基础! 在整体的UI和用户体验设计方面,Discuz!NT3.0在保留传统风格的同时吸取了Discuz! 7.0大量被用户肯定的设计元素,形成了Discuz!NT自有的风格。首页的快速发主题可以让大论坛里面只关注某个版块的用户方便分享自己最新的事情,还有弹窗方式的快速登录、注册、发帖、编辑帖子等等快捷的功能,将有更好的用户体验效果。 另外,Discuz!NT 3.0的API进行了全面开放,发帖、回复、创建用户、修改用户资料积分、创建版块、获取版块列表、获取帖子列表等功能可以让开发者很轻松的二次开发或者系统整合。3.0版本API取消了2.6版本中API许多功能受到session的限制,3.0版本API可以授权应用程序任意的修改用户密码等一系列操作,真正方便二次开发。值得一提的是,Discuz!NT 3.0采用了一系列加密算法来保证安全性,Discuz!NT 官方发布的API应用都可以放心使用,第三方开发的应用需要经过Discuz!NT 官方认证,用户大可以放心使用。Discuz!NT 3.0的API的又一大改进是支持客户端调用,基于安全考虑,官方对客户端调用程序进行了严格的功能限制。

34,681

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧