13.05.2013 Views

Thanks for the question regarding "connect by ", versi

Thanks for the question regarding "connect by ", versi

Thanks for the question regarding "connect by ", versi

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

PARTY ) VALUES (<br />

'100', 10000, NULL, 500, 'A0003');<br />

INSERT INTO MY_LEVEL1 ( ORIG_RECP, ORIG_AMT, REF_RECP, REF_AMT,<br />

PARTY ) VALUES (<br />

'110', 300, '100', 100, 'A0003');<br />

INSERT INTO MY_LEVEL1 ( ORIG_RECP, ORIG_AMT, REF_RECP, REF_AMT,<br />

PARTY ) VALUES (<br />

'120', 200, '110', 50, 'A0003');<br />

INSERT INTO MY_LEVEL1 ( ORIG_RECP, ORIG_AMT, REF_RECP, REF_AMT,<br />

PARTY ) VALUES (<br />

'130', 100, '120', 30, 'A0003');<br />

INSERT INTO MY_LEVEL1 ( ORIG_RECP, ORIG_AMT, REF_RECP, REF_AMT,<br />

PARTY ) VALUES (<br />

'100', 10000, NULL, 500, 'A0004');<br />

INSERT INTO MY_LEVEL1 ( ORIG_RECP, ORIG_AMT, REF_RECP, REF_AMT,<br />

PARTY ) VALUES (<br />

'110', 300, '100', 100, 'A0004');<br />

INSERT INTO MY_LEVEL1 ( ORIG_RECP, ORIG_AMT, REF_RECP, REF_AMT,<br />

PARTY ) VALUES (<br />

'120', 200, '110', 50, 'A0004');<br />

INSERT INTO MY_LEVEL1 ( ORIG_RECP, ORIG_AMT, REF_RECP, REF_AMT,<br />

PARTY ) VALUES (<br />

'130', 100, '120', 30, 'A0004');<br />

INSERT INTO MY_LEVEL1 ( ORIG_RECP, ORIG_AMT, REF_RECP, REF_AMT,<br />

PARTY ) VALUES (<br />

'130', 100, '120', 30, 'A0004');<br />

select level x,<br />

party, orig_recp, ref_recp, orig_amt, ref_amt<br />

from my_level1<br />

where party between 'A0001' AND 'A0003'<br />

<strong>connect</strong> <strong>by</strong><br />

prior orig_recp = ref_recp and<br />

prior party = party<br />

start with ref_recp is null<br />

1 A0001 100 10000 500<br />

2 A0001 110 100 300 100<br />

3 A0001 120 110 200 50<br />

4 A0001 130 120 100 30<br />

1 A0001 300 10000 500<br />

2 A0001 310 300 300 100<br />

3 A0001 320 310 200 50<br />

4 A0001 330 320 100 30<br />

1 A0003 100 10000 500<br />

2 A0003 110 100 300 100<br />

3 A0003 120 110 200 50<br />

4 A0003 130 120 100 30<br />

Clients desired output :<br />

1 A0001 100 10000 500<br />

4 A0001 130 120 100 30<br />

1 A0001 300 10000 500<br />

4 A0001 330 320 100 30<br />

1 A0003 100 10000 500<br />

4 A0003 130 120 100 30<br />

i.e. clients requirement is that <strong>the</strong>y want first and last row per level. We<br />

have tried a lot but not got any appropriate solution <strong>for</strong> this.<br />

Please provide some solution <strong>for</strong> above query asap.<br />

Interpret July 13, 2003 - 2pm Central time zone Bookmark | Bottom | Top<br />

Reviewer: Nitin from Atlanta<br />

How do I interpret this SQL and <strong>the</strong> output? Is <strong>the</strong> output correct?<br />

SELECT<br />

TO_CHAR(A.EFFDT,'YYYY-MM-DD'), A.TREE_NODE_NUM, A.TREE_NODE,<br />

A.TREE_NODE_NUM_END, A.TREE_LEVEL_NUM, A.TREE_NODE_TYPE, A.PARENT_NODE_NUM, A.OLD_TREE_NODE_NUM<br />

From PSTREENODE A<br />

Where A.TREE_NAME = 'OVER_EXP'<br />

And A.SETID = 'LOCKE'

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!