Please start any new threads on our new
site at https://forums.sqlteam.com. We've got lots of great SQL Server
experts to answer whatever question you can come up with.
| Author |
Topic |
|
nitin05.sharma
Starting Member
20 Posts |
Posted - 2011-12-05 : 03:58:40
|
| hi i am using oops concept in sql like inheritence there five class A-B-C-D-E B inheriting A C inheriting B D inheriting C E inheriting D i want to write a querry whenevere i'll get a input E output should be A,B,C,Dits urgent please reply me soon thanks in advance |
|
|
visakh16
Very Important crosS Applying yaK Herder
52326 Posts |
|
|
sureshkk
Starting Member
21 Posts |
Posted - 2011-12-05 : 04:19:15
|
| CREATE TABLE #Refences( ObjectID INT, ObjectName VARCHAR(10), RefObject INT)GOINSERT INTO #Refences SELECT 1,'A',NULLUNION ALLSELECT 2,'B',1UNION ALL SELECT 3,'C',2UNION ALLSELECT 4,'D',3UNION ALLSELECT 5,'E',4DECLARE @RefObj INTSET @RefObj=5;WITH CTE(ObjectID,ObjectName,RefObject)AS( SELECT B.ObjectID,B.ObjectName,B.RefObject FROM #Refences A INNER JOIN #Refences B ON A.RefObject=B.ObjectID WHERE A.ObjectID=@RefObj UNION ALL SELECT R.ObjectID,R.ObjectName,R.RefObject FROM #Refences R INNER JOIN CTE C ON C.RefObject=R.ObjectID)SELECT * FROM CTE DROP TABLE #Refences |
 |
|
|
visakh16
Very Important crosS Applying yaK Herder
52326 Posts |
Posted - 2011-12-05 : 04:23:32
|
quote: Originally posted by sureshkk CREATE TABLE #Refences( ObjectID INT, ObjectName VARCHAR(10), RefObject INT)GOINSERT INTO #Refences SELECT 1,'A',NULLUNION ALLSELECT 2,'B',1UNION ALL SELECT 3,'C',2UNION ALLSELECT 4,'D',3UNION ALLSELECT 5,'E',4DECLARE @RefObj INTSET @RefObj=5;WITH CTE(ObjectID,ObjectName,RefObject)AS( SELECT B.ObjectID,B.ObjectName,B.RefObject FROM #Refences A INNER JOIN #Refences B ON A.RefObject=B.ObjectID WHERE A.ObjectID=@RefObj UNION ALL SELECT R.ObjectID,R.ObjectName,R.RefObject FROM #Refences R INNER JOIN CTE C ON C.RefObject=R.ObjectID)SELECT * FROM CTE DROP TABLE #Refences
the above join is not required------------------------------------------------------------------------------------------------------SQL Server MVPhttp://visakhm.blogspot.com/ |
 |
|
|
sureshkk
Starting Member
21 Posts |
Posted - 2011-12-05 : 04:29:37
|
| Hi Visakh,If i remove join from the above query it displays Record 'E' also. |
 |
|
|
visakh16
Very Important crosS Applying yaK Herder
52326 Posts |
Posted - 2011-12-05 : 04:39:05
|
quote: Originally posted by sureshkk Hi Visakh,If i remove join from the above query it displays Record 'E' also.
oh ..so you dont want to show main record details?------------------------------------------------------------------------------------------------------SQL Server MVPhttp://visakhm.blogspot.com/ |
 |
|
|
nitin05.sharma
Starting Member
20 Posts |
Posted - 2011-12-05 : 04:58:57
|
thanks vikas its running finethanks a lotquote: Originally posted by visakh16
quote: Originally posted by sureshkk CREATE TABLE #Refences( ObjectID INT, ObjectName VARCHAR(10), RefObject INT)GOINSERT INTO #Refences SELECT 1,'A',NULLUNION ALLSELECT 2,'B',1UNION ALL SELECT 3,'C',2UNION ALLSELECT 4,'D',3UNION ALLSELECT 5,'E',4DECLARE @RefObj INTSET @RefObj=5;WITH CTE(ObjectID,ObjectName,RefObject)AS( SELECT B.ObjectID,B.ObjectName,B.RefObject FROM #Refences A INNER JOIN #Refences B ON A.RefObject=B.ObjectID WHERE A.ObjectID=@RefObj UNION ALL SELECT R.ObjectID,R.ObjectName,R.RefObject FROM #Refences R INNER JOIN CTE C ON C.RefObject=R.ObjectID)SELECT * FROM CTE DROP TABLE #Refences
the above join is not required------------------------------------------------------------------------------------------------------SQL Server MVPhttp://visakhm.blogspot.com/
|
 |
|
|
|
|
|
|
|