这个用存储过程怎么写

xuxugr 2008-10-22 03:48:42
同一个表中

sblx表
sbmc id parent
机械 10 20
工程机械 11 10
化工机械 12 10

想得到
spmcz sbmc
机械 工程机械
机械 化工机械
这个用存储过程怎么写
...全文
55 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
-狙击手- 2008-10-22
  • 打赏
  • 举报
回复
------------------------------------
-- Author: happyflsytone
-- Date:2008-10-22 15:56:02
------------------------------------

-- Test Data: sblx
IF OBJECT_ID('sblx') IS NOT NULL
DROP TABLE sblx
Go
CREATE TABLE sblx(sbmc NVARCHAR(4),id INT,parent INT)
Go
INSERT INTO sblx
SELECT '机械',10,20 UNION ALL
SELECT '工程机械',11,10 UNION ALL
SELECT '化工机械',12,10
GO
--Start
SELECT a.sbmc,b.sbmc
FROM sblx a
left join sblx b
on a.parent = b.id
where b.sbmc is not null


--Result:
/*
sbmc sbmc
---- ----
工程机械 机械
化工机械 机械

(2 行受影响)

*/
--End
中国风 2008-10-22
  • 打赏
  • 举报
回复
select
spmcz=b.sbmc,a.sbmc
from
sblx a
left join
sblx b on a.parent=b.ID
fcuandy 2008-10-22
  • 打赏
  • 举报
回复
DECLARE @t TABLE(sbmc VARCHAR(10),id INT,parent INT)
INSErT @t SELECT '机械' , 10 , 20
UNION ALL SELECT '工程机械' , 11 , 10
UNION ALL SELECT '化工机械', 12 , 10

SELECT a.sbmc,b.sbmc
FROM @t a
LEFT JOIN @t b
ON a.id=b.parent
WHERE b.sbmc IS NOT NULL
/*
机械 工程机械
机械 化工机械*/

34,590

社区成员

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

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