日期:2014-05-17  浏览次数:20784 次

求SQL语句,取某物料的下层所有物料
本帖最后由 laty_cathy 于 2012-07-30 16:25:09 编辑
大家好!
  如何用SQL语句,当标志为'Y'时,将其下层所有物料全部取出来,见下图:

将黄色背景的数据取出来。

谢谢!
------解决方案--------------------
select * from tb as a
(
select * from tb where 标识='Y' 
) as b
where and a.序号 like b.序号+'%'


非技术版 10分
------解决方案--------------------
CREATE TABLE test([阶层] int,[序号] varchar(50),[标志] varchar(2))
go
insert into test
select 1,'0010','' union all
select 2,'0010010','' union all
select 3,'0010010010','' union all
select 2,'00100020','Y' union all
select 3,'001000200010','' union all
select 4,'0010002000100010','' union all
select 5,'00100020001000100010','' union all
select 2,'00100030','' union all
select 3,'001000300010','' union all
select 4,'0010003000100010','Y' union all
select 5,'00100030001000100010',''

SELECT * FROM test as a,(SELECT [序号] FROM test WHERE [标志]='Y') as b
WHERE a.[序号] LIKE b.[序号]+'%' and a.[标志]<>'Y'

drop table test