on 04-20-2015 4:37 PM
HI All,
I have a table with hierarchy inside. i need to create a query for datafoundationlayer.
i have a query but is giving an error saying invalid alias. Can someone help me out please.
WITH TaskHierarchy (name, taskid,parentid,levelnumber,creator,userparameter2,usercomment) AS
(
-- Base case
SELECT
name, taskid,parentid, 1 as levelnumber, creator,userparameter2,usercomment
FROM task
WHERE parentid IS NULL
UNION ALL
-- Recursive step
SELECT
e.name, e.taskid,e.parentid
eh.levelnumber + 1 AS levelnumber
, e.creator,e.userparameter2,e.usercomment
FROM task e
INNER JOIN TaskHierarchy eh ON
e.parentid = eh.taskID
)
SELECT *
FROM TaskHierarchy
ORDER BY levelnumber
Business Objects doesn't like the "WITH" syntax. Use this instead to create a derived table:
SELECT name, taskid,parentid,levelnumber,creator,userparameter2,usercomment from
(
-- Base case
SELECT
name, taskid,parentid, 1 as levelnumber, creator,userparameter2,usercomment
FROM task
WHERE parentid IS NULL
UNION ALL
-- Recursive step
SELECT
e.name, e.taskid,e.parentid
eh.levelnumber + 1 AS levelnumber
, e.creator,e.userparameter2,e.usercomment
FROM task e
INNER JOIN TaskHierarchy eh ON
e.parentid = eh.taskID
)
TaskHierarchy
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
Simple use following query:
select from (
SELECT
name, taskid,parentid, 1 as levelnumber, creator,userparameter2,usercomment
FROM task
WHERE parentid IS NULL
UNION ALL
SELECT
e.name, e.taskid,e.parentid
eh.levelnumber + 1 AS levelnumber
, e.creator,e.userparameter2,e.usercomment
FROM task e
INNER JOIN TaskHierarchy eh ON
e.parentid = eh.taskID)
ORDER BY levelnumber
thanks,
swapnil
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
84 | |
10 | |
10 | |
10 | |
7 | |
6 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.