complex query Need help
Brian,
Refer to following two solutions, that may help you.
--sample table and records.
create table #t
(
order_nm varchar(30),
parent_ord varchar(30)
)
insert into #t values (76213, null)
insert into #t values (72193, 76213)
insert into #t values (85613, 76213)
insert into #t values (42910, 76213)
insert into #t values (76214, null)
insert into #t values (72194, 76214)
insert into #t values (85614, 76214)
insert into #t values (42912, 76214)
--see following 2 queries.
declare @ord varchar(30)
set @ord = '76213'
select a.order_nm , a.parent_ord
from #t a
where exists(
select * from #t b where
coalesce(b.parent_ord, b.order_nm)
= (coalesce(a.parent_ord, a.order_nm))
and b.order_nm = @ord)
and a.order_nm <> @ord
--OR
select a.order_nm , a.parent_ord
from #t a,
(select * from #t where
order_nm = @ord)b
where a.order_nm <> b.order_nm
and coalesce(a.parent_ord, a.order_nm) =
coalesce(b.parent_ord, b.order_nm)
--
-Vishal
|