设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1868|回复: 7
打印 上一主题 下一主题

[其它] 请教todaynew 关于【SQL SERVER小品】跟踪追击

[复制链接]
跳转到指定楼层
1#
发表于 2015-7-20 15:18:14 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 13601812106_01 于 2015-7-20 15:20 编辑

学习了两天,发现SQL递归很灵活:想请教一下老师:可否再加一个层次,查出来的结果按顺序的排列,如:
层次level
-1
10
101
 
--1
101
1001
 
---1
1001
10001
 
-2
10
102
 
--1
102
1002
 
--2
102
10056
 

以下为老师提供的代码,就是不知道怎么修改才好
WITH 单据递归查询 (bomID,产品id,子件ID,单耗,损耗率,根产品,level) AS  
(     
         SELECT bomID,产品id,子件ID,单耗,损耗率,产品id as 根产品,0 as level
         FROM bom表
         where 产品ID not in (SELECT distinct 子件id FROM bom表)
         
         UNION ALL
         SELECT a.bomID,a.产品id,a.子件ID,a.单耗,a.损耗率,b.根产品,b.level+1 as level
         FROM bom表 AS a,单据递归查询 AS b
         WHERE a.产品ID=b.子件ID)

SELECT * FROM 单据递归查询


麻烦老师了

【SQL SERVER小品】跟踪追击 -- SQL SERVER递归查询示例
http://www.office-cn.net/forum.p ... 9830&fromuid=145480
(出处: Office中国论坛/Access中国论坛)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2015-7-20 22:25:08 | 显示全部楼层
谢谢老师指点,正是所需。想再请教一下,可否再加一个字段【显示】,当level为1时,【显示】为-1  当level为2时,【显示】为--2,........  
3#
 楼主| 发表于 2015-7-21 12:41:34 | 显示全部楼层
老师的事例,下了一上午,好好学习
4#
 楼主| 发表于 2015-7-21 13:11:17 | 显示全部楼层
todaynew 发表于 2015-7-20 17:25
是不是这么个意思:
WITH 单据递归查询 (bomID,产品id,子件ID,单耗,损耗率,根产品,level,层次) AS  
(    ...

仔细测试,不是我想要的功能,我想达到功能,请老师帮忙?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-6-8 15:04 , Processed in 0.089481 second(s), 28 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表