| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 768 人关注过本帖
标题:如何实现物料清单的循环查找合并?
只看楼主 加入收藏
woboy
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2010-8-22
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:8 
如何实现物料清单的循环查找合并?
父件           子件          定额      工艺链
11HQ653        211HQ653-01    1       11HQ653/211HQ653-01
211HQ653-01    211HA653-01    1       11HQ653/211HQ653-01/211HA653-01
211HA653-01    211A653-01     1       11HQ653/211HQ653-01/211HA653-01/211A653-01
211A653-01     211G653-01     1       11HQ653/211HQ653-01/211HA653-01/211A653-01/211G653-01
211G653-01     211Y653-01     1       11HQ653/211HQ653-01/211HA653-01/211A653-01/211G653-01/211Y653-01
211Y653-01     401990       0.012     11HQ653/211HQ653-01/211HA653-01/211A653-01/211G653-01/211Y653-01/401990
11HQ653        399Y81196       1      11HQ653/399Y81196
11HQ653        5016547       0.01     11HQ653/5016547
11HQ653        503M6547        1      11HQ653/503M6547
11HQ653        5046547        0.02    11HQ653/5046547
11HQ653        5070060         1      11HQ653/5070060

通过查询父件和子件合并出“工艺链”列的内容,通过SQL该如何做才可以实现?
请各位大师指点指点!谢谢!

搜索更多相关主题的帖子: 物料 清单 
2010-08-22 23:55
aei135
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:12
帖 子:232
专家分:1176
注 册:2009-4-6
收藏
得分:10 

declare @CList table(parentid varchar(50),sonid varchar(50),[desc] varchar(500))
declare @tmpCList table(parentid varchar(50),sonid varchar(50))
declare @parentid varchar(50),@sonid varchar(20),@tmpfacther varchar(50),@tmpsonid varchar(50)
insert into @clist(parentid,sonid) select parentid,sonid from ceshi
while exists(select 0  from @CList where [desc] is null)
begin
    select top 1 @parentid=parentid,@sonid=sonid from @CList where [desc] is null
    update @CList set [desc]=@parentid+'/'+sonid where parentid=@parentid and sonid=@sonid
    set @tmpfacther=@parentid
    insert into @tmpCList select parentid,sonid from ceshi
    while exists(select 0 from @tmpCList where sonid=@tmpfacther)
    Begin
        select top 1 @tmpsonid=sonid,@tmpfacther=parentid from @tmpCList where sonid=@tmpfacther
        update @CList set [desc]=@tmpfacther+'/'+[desc] where parentid=@parentid and sonid=@sonid
    End
end
select * from @CList
2010-08-23 17:22
woboy
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2010-8-22
收藏
得分:0 
尊敬的版主:
     谢谢你的帮助!但我实在看不明白,请教一下该怎么用?是存储过程还是?我刚接触SQL.
      谢谢!
2010-08-23 17:36
aei135
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:12
帖 子:232
专家分:1176
注 册:2009-4-6
收藏
得分:10 
把表名ceshi替换成你的表名,parentid替换成父件,sonid替换成子件,[desc]替换成工艺链,直接放到查询分析器中运行,结果就出来了,也可以放到存储过程里直接调用
2010-08-24 09:17
tanyongqiang
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2010-8-25
收藏
得分:0 
2010-08-25 12:50
woboy
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2010-8-22
收藏
得分:0 
谢谢版主,正在测试当中,我目前的数据有10554条,而且以后会不断的增加,本次测试总共用了33分钟都还没查出结果,回家继续测试。请问还有办法加快查询速度吗?谢谢!
2010-08-25 18:20
woboy
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2010-8-22
收藏
得分:0 
版主,晚上在家测试了一个多小时没结果出来!是因为数据太多的缘故!还有其他的办法吗?
2010-08-26 00:04
qingshuiliu
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:17
帖 子:323
专家分:1538
注 册:2009-12-28
收藏
得分:0 
aei135,好样的
2010-08-28 07:27
Assassion
Rank: 1
等 级:新手上路
帖 子:6
专家分:8
注 册:2010-9-2
收藏
得分:0 
没懂
2010-09-02 14:12
快速回复:如何实现物料清单的循环查找合并?
数据加载中...
 
   



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

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