首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

难度大啊不知道如何写这个sql语句啊

2014-01-26 
难度大啊,不知道怎么写这个sql语句啊。本帖最后由 ruhong 于 2014-01-06 09:40:39 编辑表a指标序号 指标名

难度大啊,不知道怎么写这个sql语句啊。
本帖最后由 ruhong 于 2014-01-06 09:40:39 编辑 表a

指标序号 指标名称 上级指标
1         a        0
2         b        1
3         c        2

表b
分组序号 分组名称 指标项
1         xx     3

根据条件 分组序号=1
想得到以下结果
分组序号  指标类别 指标名称 指标项
1          a       c       3

就是指标类别是他的最顶级指标的名称,指标名称是他自己的名称。
求救。

 
[解决办法]
你的这两个表中哪个是“指标类别” ?“指标类别是他的最顶级指标的名称” 这个是什么意思?
[解决办法]

----------------------------------------------------------------
-- Author  :TravyLee(走自己的路,让狗去叫吧!)
-- Date    :2014-01-06 10:27:38
-- Version:
--      Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (Intel X86) 
--Jul  9 2008 14:43:34 
--Copyright (c) 1988-2008 Microsoft Corporation
--Developer Edition on Windows NT 6.1 <X86> (Build 7601: Service Pack 1)
--
----------------------------------------------------------------
--> 测试数据:a
if object_id('dbo.a') is not null drop table a
go 
create table  a([id] int,[name] varchar(1),[pid] int)
insert  a
select 1,'a',0 union all
select 2,'b',1 union all
select 3,'c',2
--> 测试数据:b
if object_id('dbo.b') is not null drop table b
go 
create table b([title] int,[groupname] varchar(2),[content] int)
insert b
select 1,'xx',3
go
alter FUNCTION F_GETROOT(@PID INT)
RETURNS varchar(20)
AS
BEGIN
    DECLARE @ID INT
    WHILE EXISTS(SELECT 1 FROM a WHERE ID=@PID)
    BEGIN
        SET @ID=@PID
        SELECT @PID=PID FROM a WHERE ID=@ID
    END 
    RETURN (select name from a where pid=@PID)
END
GO

select b.title,dbo.F_GETROOT(a.pid) as pname,a.name,b.content 
from b,a where a.id=b.content
/*
titlepnamenamecontent
------------------------------------------
1ac3
*/

热点排行