Using START WITH and CONNECT BY PRIOR in a report

Hi - I am using Oracle 9i and reports 10g. Does anyone know of a reason why running my sql in TOAD will produce the correct results, but the report is dropping records? I am using start with and connect by prior to build a hierarchy of linked records. The report is dropping the "child records" and only returning records from the route level.
Thanks you for your help.

Hi user574499
Could u pls share us ur Query...?
Regards,
Abdetu...

Similar Messages

  • Improve hierarchical query speed using 'start with' and 'conect by prior'

    Hi
    The query within the 'explain' runs about a second and I need to imporve it.
    There are indexes set for both the child_id and the parent_id.
    The total number of rows for the PRM_COMPONENTS table is 120000.
    I'm working on 'Oracle Database 10g Release 10.2.0.4.0 - 64bit Production' in a Linux OS.
    I've included the explain plan below.
    Any suggestions would be appreciated.
    Thanks
    EXPLAIN PLAN FOR
    SELECT substr(SYS_CONNECT_BY_PATH(usage_title, '|'), 2, instr( SYS_CONNECT_BY_PATH(usage_title, '|'), '|', -1) -2 )
    FROM prm_components p
    WHERE LEVEL > 1 and usage_id = 10301100
    START WITH parent_usage_id is null
    CONNECT BY PRIOR usage_id = parent_usage_id;
    select * from table(dbms_xplan.display);
    | Id | Operation | Name | Rows | Bytes | Cost (%CPU)|
    | 0 | SELECT STATEMENT | | 6 | 174 | 4 (0)|
    |* 1 | FILTER | | | | |
    |* 2 | CONNECT BY WITH FILTERING | | | | |
    |* 3 | TABLE ACCESS FULL | PRM_COMPONENTS | 69526 | 3937K| 2468 (1)|
    | 4 | NESTED LOOPS | | | | |
    | 5 | CONNECT BY PUMP | | | | |
    | 6 | TABLE ACCESS BY INDEX ROWID| PRM_COMPONENTS | 6 | 174 | 4 (0)|
    |* 7 | INDEX RANGE SCAN | PRM_PARENT_USAGE_ID_I | 2 | | 1 (0)|
    Predicate Information (identified by operation id):
    1 - filter(LEVEL>1 AND "USAGE_ID"=10301100)
    2 - access("PARENT_USAGE_ID"=PRIOR "USAGE_ID")
    3 - filter("PARENT_USAGE_ID" IS NULL)
    7 - access("PARENT_USAGE_ID"=PRIOR "USAGE_ID")
    Note
    - 'PLAN_TABLE' is old version

    Hi
    I've resolved the issue by other means but here is the description of the table anyways.
    USAGE_ID     NOT NULL     NUMBER
    PARENT_USAGE_ID          NUMBER
    PRODUCT_CODE     NOT NULL     VARCHAR2(12)
    PRINT_OR_ONLINE     NOT NULL     CHAR(1)
    SLP_ID          VARCHAR2(24)
    RELEASE_NAME          VARCHAR2(80)
    USAGE_TITLE          VARCHAR2(255)
    ENT_USAGE_TITLE          VARCHAR2(255)
    TRANS_TITLE          VARCHAR2(255)
    REVISION_TYPE          VARCHAR2(8)
    ACTIVE          CHAR(1)
    MARKED_FOR_DELETION          CHAR(1)
    CREATED_DT          DATE
    CREATED_BY          VARCHAR2(80)
    UPDATED_DT          DATE
    UPDATED_BY          VARCHAR2(80)
    PLANNING_COMMENTS          VARCHAR2(2000)
    OUTPUT_FILENAME          VARCHAR2(200)
    TRANSFORMER_ID          NUMBER(38)
    START_PAGE          VARCHAR2(8)
    START_PAGE_NUM          NUMBER
    END_PAGE          VARCHAR2(8)
    END_PAGE_NUM          NUMBER
    VOLUME          VARCHAR2(8)
    SORT_ORDER          NUMBER
    PRIORITY          NUMBER
    XREF_BLIND_ENTRY          CHAR(1)
    SPECIAL_CATEGORY          VARCHAR2(20)
    TO_BE_REVISED          CHAR(1)
    EDITOR          VARCHAR2(80)
    DUE_DT          DATE
    POSTED_DT          DATE
    LOGICAL_UOI_ID     NOT NULL     VARCHAR2(40)
    PHYSICAL_UOI_ID     NOT NULL     VARCHAR2(40)
    EDIT_APPROV_UOI_ID          VARCHAR2(40)
    EDIT_APPROV_BY          VARCHAR2(80)
    EDIT_APPROV_DT          DATE
    FINAL_APPROV_UOI_ID          VARCHAR2(40)
    FINAL_APPROV_BY          VARCHAR2(80)
    FINAL_APPROV_DT          DATE
    PHOTO_APPROV_UOI_ID          VARCHAR2(40)
    PHOTO_APPROV_BY          VARCHAR2(80)
    PHOTO_APPROV_DT          DATE
    RIGHTS_APPROV_UOI_ID          VARCHAR2(40)
    RIGHTS_APPROV_BY          VARCHAR2(80)
    RIGHTS_APPROV_DT          DATE
    LAYOUT_APPROV_UOI_ID          VARCHAR2(40)
    LAYOUT_APPROV_BY          VARCHAR2(80)
    LAYOUT_APPROV_DT          DATE
    BLUES_APPROV_UOI_ID          VARCHAR2(40)
    BLUES_APPROV_BY          VARCHAR2(80)
    BLUES_APPROV_DT          DATE
    LAST_PUB_ONLINE_DT          DATE
    LAST_PUB_PRINT_DT          DATE
    BLIND_ENTRY_ON_DT          DATE
    BLIND_ENTRY_OFF_DT          DATE
    DELIVERY_APPROV_UOI_ID          VARCHAR2(40)
    DELIVERY_APPROV_BY          VARCHAR2(80)
    DELIVERY_APPROV_DT          DATE
    APPROVAL_STATUS          VARCHAR2(40)
    CHANGE_SINCE_LAST_DELIVERY          CHAR(1)
    USAGE_COMMENTS          VARCHAR2(2000)
    LEXILE_CODE          VARCHAR2(18)
    SERIES          VARCHAR2(8)
    USAGE_TITLE_TMP          VARCHAR2(255)
    ENT_USAGE_TITLE_TMP          VARCHAR2(255)
    WORD_COUNT          VARCHAR2(10)
    READ_LEV          VARCHAR2(7)
    GRADES          VARCHAR2(80)
    DELIVERY_TYPE     NOT NULL     CHAR(1)
    METADATA_APPROVAL_STATUS          VARCHAR2(40)
    METADATA_APPROVAL_BY          VARCHAR2(80)
    METADATA_APPROVAL_DT          DATE
    RESOURCE_FLAG          CHAR(1)
    STZ_FLAG          CHAR(1)
    RESOURCE_TYPE_CODE          VARCHAR2(16)
    ASSET_DESCRIPTION          VARCHAR2(2000)
    ROLE_CODE          VARCHAR2(16)
    PROGRAMS_DATA          VARCHAR2(256)
    TIME_TO_COMPLETE          VARCHAR2(32)
    ENTITLEMENTS_DATA          VARCHAR2(256)
    ISBN_10          VARCHAR2(32)
    ISBN_13          VARCHAR2(32)
    MFG_ITEM_NO          VARCHAR2(256)
    AR          CHAR(1)
    SRC          CHAR(1)
    SRC_POINTS          NUMBER
    AUTHORS          VARCHAR2(320)
    SEARCH_STRINGS          VARCHAR2(2000)
    PATH_SLP_ID          VARCHAR2(256)
    PATH_GTC          VARCHAR2(256)
    PATH_TITLE          VARCHAR2(2560)
    GRL          VARCHAR2(8)
    COMMON_CORE          CHAR(1)

  • How to use SQL filtercondition 'Start with' and 'connect by' in ADF's LOV?

    Hello every!
    I can not use 'Start with' and 'connect by' with parameter in creating ADF's LOV?
    How could I do with it?
    Alex

    assuming you are using adf 11g,
    You need to use View Criteria with the View Object attribute that has a LOV model.
    Follow this, to get some idea http://andrejusb.blogspot.com/2008/12/cascading-lovs-in-oracle-adf-11g-update.html
    hope this helps,

  • How i use start with and rollup both in one query

    hi master
    sir i use rollup function for subtotal but rollup not give tree
    for tree i want to use start with and connect by function
    but that query give error
    sir how i use both rollup and start with connect by in one query
    for tree wise subtotal
    please give me idea
    thanking you

    hi master
    thank for your reply
    sir i get accid and title from master table and balance from detial table then system give me error
    sir i send me all table and data with query and error
    Sir this is my master table
    SQL> desc chartofacc;
    Name Null? Type
    PARENT NUMBER
    CHILD NUMBER
    ACCID NOT NULL VARCHAR2(15)
    TITLE VARCHAR2(99)
    CAMPID VARCHAR2(2)
    ACTIVE NUMBER
    FSTATUS NUMBER
    Data
    Parent child accid
         1     K1
    1     11     K11
    11     1101     K1101
    11     1102     K1102
    11     1103     K1103
    11     1104     K1104
    11     1105     K1105
    11     1106     K1106
    11     1107     K1107
    11     1108     K1108
    11     1109     K1109
    11     1110     K1110
    11     1111     K1111
    11     1112     K1112
    11     1113     K1113
    11     1114     K1114
    1     12     K12
    12     1201     K1201
    12     1202     K1202
    12     1203     K1203
    1     13     K13
    13     1301     K1301
    1301     130101     K130101
    1301     130102     K130102
    1301     130103     K130103
    1301     130104     K130104
    1301     130105     K130105
    1301     130106     K130106
    1301     130107     K130107
    1301     130108     K130108
    1301     130109     K130109
    1301     130110     K130110
    1301     130111     K130111
    1301     130112     K130112
    1301     130113     K130113
    1301     130114     K130114
    1301     130115     K130115
    13     1302     K1302
    1302     130201     K130201
    1302     130202     K130202
    1302     130203     K130203
    1302     130204     K130204
    1302     130205     K130205
    13     1303     K1303
    1303     130301     K130301
    1303     130302     K130302
    1303     130303     K130303
    13     1304     K1304
    1304     130401     K130401
    1304     130402     K130402
    1304     130403     K130403
    1304     130404     K130404
    1304     130405     K130405
    1304     130406     K130406
    1304     130407     K130407
    1304     130408     K130408
    13     1305     K1305
    1305     130501     K130501
    1305     130502     K130502
    13     1306     K1306
    1306     130601     K130601
    13     1307     K1307
    1307     130701     K130701
    1307     130702     K130702
    1307     130703     K130703
    1307     130704     K130704
    13     1308     K1308
    1308     130801     K130801
    1308     130802     K130802
    1308     130803     K130803
    1308     130804     K130804
    1308     130805     K130805
    1308     130806     K130806
    1308     130807     K130807
    1308     130808     K130808
    1308     130809     K130809
    1308     130810     K130810
    1308     130811     K130811
    1308     130812     K130812
    1308     130813     K130813
    13     1309     K1309
    13     1310     K1310
    13     1311     K1311
    1311     131101     K131101
         2     K2
    2     21     K21
    21     2101     K2101
    2101     210101     K210101
    2101     210102     K210102
    2101     210103     K210103
    2101     210104     K210104
    21     2102     K2102
    2102     210201     K210201
    2102     210202     K210202
    2102     210203     K210203
    2102     210204     K210204
    21     2103     K2103
    2103     210301     K210301
    2103     210302     K210302
    2103     210303     K210303
    2103     210304     K210304
    21     2104     K2104
    2104     210401     K210401
    2104     210402     K210402
    2104     210403     K210403
    2104     210404     K210404
    2     22     K22
    22     2201     K2201
    2201     220101     K220101
    2201     220102     K220102
    2201     220103     K220103
    2201     220104     K220104
    2201     220105     K220105
    22     2202     K2202
    2202     220201     K220201
    2202     220202     K220202
    2202     220203     K220203
    2202     220204     K220204
    22     2203     K2203
    2203     220301     K220301
    2203     220302     K220302
    2203     220303     K220303
    2203     220304     K220304
    22     2204     K2204
    2204     220401     K220401
    2204     220402     K220402
    2204     220403     K220403
    22     2205     K2205
    2205     220501     K220501
    2205     220502     K220502
    220502     22050201     K22050201
    220502     22050202     K22050202
    220502     22050203     K22050203
    220502     22050204     K22050204
    22     2206     K2206
    2206     220601     K220601
    2206     220602     K220602
    2206     220603     K220603
    2206     220604     K220604
    2     23     K23
    23     2301     K2301
    2301     230101     K230101
    2301     230102     K230102
    2301     230103     K230103
    2301     230104     K230104
    2301     230105     K230105
    2301     230106     K230106
    2301     230107     K230107
    2301     230108     K230108
    23     2302     K2302
    2302     230201     K230201
    2302     230202     K230202
    2302     230203     K230203
    2302     230204     K230204
    23     2303     K2303
    2303     230301     K230301
    2303     230302     K230302
    23     2304     K2304
    2304     230401     K230401
    2304     230402     K230402
    2304     230403     K230403
    23     2305     K2305
    2305     230501     K230501
    23     2306     K2306
    2306     230601     K230601
    2306     230602     K230602
    2306     230603     K230603
    2306     230604     K230604
    23     2307     K2307
    23     2308     K2308
    2308     230801     K230801
    2308     230802     K230802
    2308     230803     K230803
    23     2309     K2309
    2309     230901     K230901
    2309     230902     K230902
    2309     230903     K230903
    2309     230904     K230904
    23     2310     K2310
    2310     231001     K231001
    2310     231002     K231002
    2310     231003     K231003
    23     2311     K2311
    2311     231101     K231101
    2311     231102     K231102
    2311     231103     K231103
    23     2312     K2312
    2312     231201     K231201
    2312     231202     K231202
    2312     231203     K231203
    2312     231204     K231204
    23     2313     K2313
    2313     231301     K231301
    2313     231302     K231302
    2313     231303     K231303
    2313     231304     K231304
    2313     231305     K231305
    2313     231306     K231306
    2313     231307     K231307
    2313     231308     K231308
    2313     231309     K231309
    2313     231310     K231310
    2313     231311     K231311
    2313     231312     K231312
    2313     231313     K231313
    2313     231314     K231314
    2313     231315     K231315
    23     2314     K2314
    2314     231401     K231401
    2314     231402     K231402
    2314     231403     K231403
    2314     231404     K231404
    2314     231405     K231405
    2314     231406     K231406
    2314     231407     K231407
    23     2315     K2315
    23     2316     K2316
    2316     231601     K231601
    2316     231602     K231602
    23     2317     K2317
    23     2318     K2318
    23     2319     K2319
    2319     231901     K231901
    2319     231902     K231902
    2319     231903     K231903
    2319     231904     K231904
    2319     231905     K231905
    2319     231906     K231906
    23     2320     K2320
    2320     232001     K232001
         3     K3
    3     31     K31
    31     3101     K3101
    31     3102     K3102
    31     3103     K3103
    31     3104     K3104
    31     3105     K3105
    3     32     K32
    32     3201     K3201
    32     3202     K3202
    32     3203     K3203
    32     3204     K3204
    32     3205     K3205
    32     3206     K3206
    32     3207     K3207
         4     K4
    4     41     K41
    41     4101     K4101
    4101     410101     K410101
    4101     410102     K410102
    4101     410103     K410103
    4101     410104     K410104
    4101     410105     K410105
    4101     410106     K410106
    4101     410107     K410107
    4101     410108     K410108
    4101     410109     K410109
    4101     410110     K410110
    4101     410111     K410111
    4101     410112     K410112
    4101     410113     K410113
    4101     410114     K410114
    4101     410115     K410115
    4101     410116     K410116
    4101     410117     K410117
    4101     410118     K410118
    4101     410119     K410119
    4101     410120     K410120
    4101     410121     K410121
    4101     410122     K410122
    4101     410123     K410123
    4101     410124     K410124
    4101     410125     K410125
    4101     410126     K410126
    4101     410127     K410127
    4101     410128     K410128
    4101     410129     K410129
    4101     410130     K410130
    4101     410131     K410131
    4101     410132     K410132
    41     4102     K4102
    41     4103     K4103
    41     4104     K4104
    4104     410401     K410401
    4104     410402     K410402
    4104     410403     K410403
    4104     410404     K410404
    41     4105     K4105
    41     4106     K4106
    41     4107     K4107
    41     4108     K4108
    4108     410801     K410801
    4108     410802     K410802
    4108     410803     K410803
    41     4109     K4109
    4109     410901     K410901
    4109     410902     K410902
    4109     410903     K410903
    41     4110     K4110
    41     4111     K4111
    4111     411101     K411101
    4111     411102     K411102
    4111     411103     K411103
    41     4112     K4112
    4112     411201     K411201
    41     4113     K4113
    4113     411301     K411301
    41     4114     K4114
    4114     411401     K411401
    4114     411402     K411402
         5     K5
    5     51     K51
    51     5101     K5101
    51     5102     K5102
    51     5103     K5103
    51     5104     K5104
    51     5105     K5105
    51     5106     K5106
    51     5107     K5107
    51     5108     K5108
    51     5109     K5109
    51     5110     K5110
    51     5111     K5111
    51     5112     K5112
    51     5113     K5113
    51     5114     K5114
         6     K6
    6     61     K61
         7     K7
    7     71     K71
    7     72     K72
    7     73     K73
    7     74     K74
    7     75     K75
    7     76     K76
    This is my detil table
    SQL> desc accbal;
    Name Null? Type
    ACCID VARCHAR2(15)
    YEARID NUMBER
    CRBAL NUMBER
    DRBAL NUMBER
    ENTDATE DATE
    BALID NUMBER
    Data in detail
    K1101     46291132     
    K1102     13182173     
    K1103     23784045     
    K1107     10001795     
    K1108     9083529     
    K1110     4224350     
    K1112     6696832     
    K1113     7963381     
    K1114     742766     
    K1201     1486082     
    K130104     1977616     
    K130106     736266     
    K130107     396673     
    K130108     42751     
    K130109     298362     
    K130110     187696     
    K130111     537     
    K130112     942     
    K130113     987     
    K130114     1272     
    K130115     40000     
    K130205     259941     
    K130303     177716     
    K130406     809719     
    K130408     1786091     
    K130701     301000     
    K130702     151200     
    K130703     7570     
    K130704     34400     
    K1308          
    K130801     5400     
    K130802     45000     
    K130803     10856     
    K130807     24300     
    K130808     16500     
    K130810     104500     
    K130811     60000     
    K130812     181000     
    K130813     1750000     
    K1309     1225565     
    K1310     2176259     
    K1311          
    K131101     788780     
    K410101          24926
    K410102          9545
    K410103          28500
    K410104          8192
    K410105          847
    K410106          37100
    K410107          2332
    K410108          9844
    K410109          7843
    K410110          9313
    K410111          1425
    K410112          6089
    K410113          15497
    K410114          5790
    K410115          4251
    K410116          22293
    K410117          855
    K410118          6497
    K410119          14996
    K410120          124214
    K410121          6713
    K410122          1567
    K410123          75821
    K410124          5085
    K410125          7125
    K410126          4342
    K410127          21485
    K410128          641111
    K410129          589
    K410130          50
    K410131          163900
    K410132          3849
    K4105          3946489
    K4107          100000
    K410801          972011
    K410802          1707806
    K410803          116450
    K4110          13113874
    K411101          98335
    K411102          32454
    K411103          53569
    K411201          25327406
    K411301          7143103
    K411401          4500000
    K411402          12754
    K5102          2120031
    K5103          13543810
    K5107          4596103
    K5108          5604493
    K5110          2008401
    K5112          2182778
    K5113          4748537
    K5114          556914
    K61          43297680
    Sir I use this query
    select lpad(' ',2*(level-1)) || to_char(child),title,sum(drbal),sum(crbal),
    from chartofacc, accbal
    where chartofacc.accid=accbal.accid(+)
    start with parent is null
    connect by prior child = parent
    group by rollup(substr(mas.accid,2,1),substr(mas.accid,3,1),substr(mas.accid,4,2),substr(mas.accid,6,2) ,chartofacc.accid,title,fstatus);
    sir this query not give me result and give me error this
    SQL> /
    from chartofacc, accbal
    ERROR at line 2:
    ORA-00936: missing expression
    Please give me idea how I get tree type subtotal tribalance
    Thanking you
    Aamir

  • START WITH and CONNECT BY in Oracle SQL ( hierarchical relationship)

    Hi, the original table as below
    Customer_ID         Account_ID          Paying_Account_ID         Parent_Account_ID          Company_ID
    158                    158                    158                         158                     0
    159                    159                    158                         158                     0
    160                    160                    158                         158                     0
    181                    181                    181                         181                     0
    183                    183                    183                         183                     0
    24669                  24669                  24669                       24669                   0        
    24671                  24671                  24671                       24669                   0
    24670                  24670                  24670                       24669                   0    
    3385127                3385127                3385127                     24670                   0To identify the hierarchical relationship of the data, which are PARENT_ACCOUNT_ID & ACCOUNT_ID, below is the query that I was used.
    select  lpad(' ', 2*level) || A.ACCOUNT_ID AS LEVEL_LABEL, CONNECT_BY_ISCYCLE "Cycle", LEVEL, A.* from ACCOUNT A
    START WITH parent_account_id = account_id
    CONNECT BY NOCYCLE  PRIOR A.ACCOUNT_ID = A.PARENT_ACCOUNT_ID
    AND account_id != parent_account_id
    ;This is the result from the query
    Level_Label              Level          Cycle        Customer_ID             Account_ID        Paying_Account_ID      Parent_Account_ID      Company_ID
    158                         1             0              158                     158              158                   158                     0
       159                      2             0              159                     159              158                   158                     0
       160                      2             0              160                     160              158                   158                     0
    181                         1             0              181                     181              181                   181                     0
    183                         1             0              183                     183              183                   183                     0
    24669                       1             0              24669                   24669            24669                 24669                   0      
        24671                   2             0              24671                   24671            24671                 24669                   0
        24670                   2             0              24670                   24670            24670                 24669                   0
            3385127             3             0              3385127                 3385127          3385127               24670                   0My questions is how can I modified the query in order to calcuate the values for:
    My_Total_PR - Number of my child PR accounts which doest not include itself.
    Total_PR - Total number of PR accounts in the overall structure
    My_Total_NPR - Number of my child NPR accounts which doest not include itself.
    Total_NPR - Total number of NPR accounts in the overall structure
    *PR stand for payment responsible, for instance the payment responsible for Account 158 is 158 (Paying_Account_ID), so the Total_PR for 158 is 3 (158, 159, 160)
    *NPR stand for Non payment responsible, for instance the payment responsible for Account 159 is 158 (Paying_Account_ID), so the Total_NPR for 159 is 1
    This is the expected result, Any advice much appreciated. Thanks
    Level_Label                     Level           Cycle           My_Total_PR     Total_PR     My_Total_NPR     Total_NPR     Paying_Account
    158                               1                0                  2              3          0              0              158
        159                           2                0                  0              0          0              1              158
        160                           2                0                  0              0          0              1              158
    181                               1                0                  0              1          0              0              181
    183                               1                0                  0              1          0              0              183
    24669                             1                0                  0              1          3              3              24669                  
        24671                         2                0                  0              1          0              0              24671
        24670                         2                0                  0              1          1              1              24670
            3385127                   3                0                  0              1          0              0              3385127Edited by: user11432758 on 14-Feb-2012 01:00
    Edited by: user11432758 on 14-Feb-2012 07:05

    Hi,
    user11432758 wrote:
    Hi below is the DDL statment, thanks
    CREATE TABLE "SYSTEM"."ACCOUNT" ...
    Don't create your own objects in the SYSTEM schema, or any schema that comes with the database. Create a separate schema, and put your objects into it. You'll have fewer security problems, and migrating to a new database will be easier.
    Here's one way to can get the aggregates that you want:
    WITH     got_descendants          AS
         SELECT     CONNECT_BY_ROOT account_id     AS ancestor_id
         ,     paying_account_id
         ,     LEVEL                    AS lvl
         FROM     account
         CONNECT BY NOCYCLE     PRIOR account_id     = parent_account_id
              AND          account_id          != parent_account_id
    SELECT       ancestor_id
    ,       COUNT (CASE WHEN lvl             > 1
                      AND  ancestor_id  = paying_account_id THEN 1 END)     AS my_total_pr
    ,       COUNT (CASE WHEN ancestor_id  = paying_account_id THEN 1 END)     AS total_pr
    ,       COUNT (CASE WHEN lvl             > 1
                      AND  ancestor_id != paying_account_id THEN 1 END)     AS my_total_npr
    ,       COUNT (CASE WHEN ancestor_id != paying_account_id THEN 1 END)     AS total_npr
    FROM       got_descendants
    GROUP BY  ancestor_id
    ;Output:
    `             MY_         MY_
                TOTAL TOTAL TOTAL TOTAL
    ANCESTOR_ID   _PR   _PR  _NPR  _NPR
            158     2     3     0     0
            159     0     0     0     1
            160     0     0     0     1
            181     0     1     0     0
            183     0     1     0     0
          24669     0     1     3     3
          24670     0     1     1     1
          24671     0     1     0     0
        3385217     0     1     0     0This gives you the right numbers, but how can we get them in an order that reflects the hierarchy, with the columns (such as lvl) that are derived from the hierarchy?
    One way would be to do two CONNECT BY queries; one without a START WITH clause (like the one above) that gets the aggregates, and the other with a START WITH clause (like your original query), that is in the right order, and has columns such as level_label and level. We could join the result sets and get exactly what we want. I'll leave that as an exercise.
    Here's another way, that gets the right results with only one CONNECT BY query:
    WITH     got_descendants          AS
         SELECT     CONNECT_BY_ROOT account_id     AS ancestor_id
         ,     paying_account_id
         ,     account_id
         ,     LEVEL                    AS lvl
         ,     CONNECT_BY_ISCYCLE          AS cycle
         ,     CASE
                  WHEN  CONNECT_BY_ROOT account_id
                      = CONNECT_BY_ROOT parent_account_id
                  THEN  ROWNUM
              END                    AS r_num
         FROM     account
         CONNECT BY NOCYCLE     PRIOR account_id     = parent_account_id
              AND          account_id          != parent_account_id
         ORDER SIBLINGS BY     account_id     -- Optional
    ,     got_o_num     AS
         SELECT     got_descendants.*
         ,     MIN (r_num) OVER (PARTITION BY  account_id)     AS o_num
         ,     MAX (lvl)   OVER (PARTITION BY  account_id)      AS max_lvl
         FROM     got_descendants
    SELECT       LPAD ( ' '
                , 2 * (MIN (max_lvl) - 1)
                )  || ancestor_id                         AS level_label
    ,       MIN (max_lvl)                                AS "Level"
    ,       MIN (cycle)                                   AS "Cycle"
    ,       COUNT (CASE WHEN lvl             > 1
                      AND  ancestor_id  = paying_account_id THEN 1 END)     AS my_total_pr
    ,       COUNT (CASE WHEN ancestor_id  = paying_account_id THEN 1 END)     AS total_pr
    ,       COUNT (CASE WHEN lvl             > 1
                      AND  ancestor_id != paying_account_id THEN 1 END)     AS my_total_npr
    ,       COUNT (CASE WHEN ancestor_id != paying_account_id THEN 1 END)     AS total_npr
    ,       MIN (paying_account_id)                                    AS paying_account
    FROM       got_o_num
    GROUP BY  ancestor_id
    ORDER BY  MIN (o_num)
    ;Output:
    `                             MY_         MY_
                                TOTAL TOTAL TOTAL TOTAL  PAYING_
    LEVEL_LABEL     Level Cycle   _PR   _PR  _NPR  _NPR  ACCOUNT
    158                 1     0     2     3     0     0      158
      159               2     0     0     0     0     1      158
      160               2     0     0     0     0     1      158
    181                 1     0     0     1     0     0      181
    183                 1     0     0     1     0     0      183
    24669               1     0     0     1     3     3    24669
      24670             2     0     0     1     1     1    24670
        3385217         3     0     0     1     0     0  3385217
      24671             2     0     0     1     0     0    24671This is exactly what you requested, except that you posted the row with level_label='  24671' before the row with level_label='  24671'. You may not care which of those comes first, but if that's important, explain why those rows need to be in descending order by account_id, while '159 and '160' are in ascending order. You'll need to change the ORDER SIBLINGS BY clause accordingly.

  • If you're trying use your hotspot and connected to wifi on your iphone, does the wifi stop working and start using your data instead of staying connected to the wifi?

    If you're trying use your hotspot and connected to wifi on your iphone, does the wifi stop working and start using your data instead of staying connected to the wifi?

    Spencer Simmonds wrote:
    Thanks for the quick response. What you have said makes sense but there is no rhyme or reason to he data used. I reset my cellular data counter to zero so both sent and received read zero. I was connected to wifi and let the phone to go into sleep mode. I waited about ten minutes and sent myself the same email four times, each with a 750 kb attachment. It was sent to my .me address so it was push mail on my phone. Sure enough I checked a minute later while bringing the phone out of sleep mode and checked the data. It showed just 10kb sent but 1mb received which just doesn't tally with the 4 x 750kb mails received. It just isn't making sense.
    He knows what you asked and has already answered it!
    I thought I had read where the iOS4 (or maybe just the iPhone 4) was supposed to be able to keep wifi connections alive while inactive. If the phone is sitting there on a charger with a wifi connection available, why use the 3G?

  • Without using order by and connect by clause

    hi all,
    can i write a tree query without using start with clause and connect by clause
    and
    can i order the employee names in a select query without using order by clause
    can those things are possible in select statement...

    dipuna wrote:
    hi all,
    can i write a tree query without using start with clause and connect by clause
    and
    can i order the employee names in a select query without using order by clause
    can those things are possible in select statement...A very odd question.
    Those clauses are the means to do what you are asking. Why would you be looking for some other method?

  • Tracking Individual Users Scores using Captivate 4 and Connect Enterprise

    Hi,
    I work in an IT shop and currently I am having trouble supporting our Marketing division's Captivate needs. They wish to be able to create quizes for online viewing in an LMS and be able to track individual users scores for accountability. Right now I we are using Captivate 4 with Adobe Connect Enterprise. I have been able to use the LMS and view quizes online, but all reporting is done as aggregate and not a session by session (individual) basis. Thus, I only have access to average, max, min scores and other info about all test takers, but no information about specific test users. I have considered accomplishing this by sending data to an access database, but this would require the IT deparment to regularly assist them with creating tests. Obviously I am looking to have the Marketing department be as self-sufficient as they can be. I think the easiest way would be to have the quiz report a session ID (unique for each instance of the quiz being accessed) to Adobe Connect and having Connect associate each aswer to a specific session ID. Other than that I do not have any other ideas for proper tracking of each user's score.
    Does anyone know what the easiest (least amount of involvement from the IT staff each time Marketing needs to make a test in captivate) way to accomplish this?
    Thanks!

    So, i sorta found a way to do this -- by adding a TOC and making the lessons self-paced, the user will always be brought back to the place where they left off when they exited the lesson.
    But it seems that even though the icon in the curriculum list changes to CONTINUE when the user closes the lesson, it still unlocks the next lesson even though the staus checkmarks in the previous lesson are not complete.
    Help. Are there any other such postings?

  • What is the difference using start condition and check function module

    what is the difference  between using start condition and check function module

    That's new to me, I thought a start condition was evaluated before the workflow started, and thus now workflow work item is available. That's why I think the only situation in which start conditions/check functions can't be used, is when the availability of a workflow log for investigation of exactly what stopped the workflow is a requirement.
    I suppose the <a href="http://help.sap.com/saphelp_46c/helpdata/en/4c/86bf43feca11d2a64f0060087a79ea/frameset.htm">SAP documentation</a> is in need of an update.

  • Javax.faces.ViewState value starts with '%' and not with '!'

    While recording and ADF Application on JMeter, what should the regular expression extractor be when the javax.faces.ViewState recorded value starts with '%' and not with '!'.
    I have been following the following link and it talks only about javax.faces.ViewState values that start with '!'
    http://one-size-doesnt-fit-all.blogspot.in/2010/04/configuring-apache-jmeter-specifically.html

    Hi,
    If '!' present in first position of string, you need to remove it or replace it in transformation.
    Following is the  sample code...
    loop at SOURCE_PACKAGE into ls_SOURCE_PACKAGE.
          record_num = sy-tabix.
          IF ( ls_SOURCE_PACKAGE-fieldname(1) = '!' ).
            ls_SOURCE_PACKAGE-fieldname(1) = '' .
    ENDIF.
        MODIFY SOURCE_PACKAGE INDEX record_num FROM LS_SOURCE_PACKAGE.
      ENDLOOP.
    Hope this helps..

  • What is the use of with and without marker update?

    what is the use of with and without marker update?

    Hi,
    Marker Update Updates the stock values and NO Marker does not.
    Generally BX upload has to be compressed with MU and BF(and UM) delta init has to be compressed with NO MU because Stock was updated with BX. And delta loads of BF and UM has to be compressed with MU  because these brings new Material movements which will has to give effect to stock.
    With rgds,
    Anil Kumar Sharma .P

  • How to pass multiple parameters to Query using START WITH, CONNECT BY OBIEE

    Hi
    I have following oracle query which need to be used as a Data Source in OBIEE Physical Layer. I guess I have to create stored proc. How do I implement this in OBIEE RPD and how do I implement the respective Dashboard prompts for the parameters.
    SELECT
    CIRC.PATH_NAME, CIRC.BANDWIDTH , CIRC.CATEGORY, CIRC.CUSTOMER_ID,
    CIRC.STATUS, CIRC.CUSTOMER_NAME,
    QUER.LEV
    FROM
    CIRCUIT_PATH circ, VAL_CUSTOMER cust,
    ( SELECT
    DISTINCT CIRC_PATH_INST_ID, LEVEL LEV
    FROM
    CIRC_PATH_ELEMENT
    START WITH
    CIRC_PATH_ELEMENT.CIRC_PATH_INST_ID IN ( SELECT
    DISTINCT CIRC_PATH_INST_ID
    FROM
    PORTS a
    WHERE SITE_NAME = @variable('Enter a Site Name')
    AND CARD_SLOT = @variable('Enter a Card Slot')
    CONNECT BY
    PRIOR CIRC_PATH_ELEMENT.CIRC_PATH_INST_ID =
    CIRC_PATH_ELEMENT.PATH_INST_ID
    AND ELEMENT_TYPE != 'K' ) QUER
    WHERE
    circ.circ_path_inst_id = QUER.CIRC_PATH_INST_ID
    and circ.cust_inst_id = cust.cust_inst_id (+)
    ORDER BY
    LEV DESC , CIRC.PATH_NAME ASC, CIRC.BANDWIDTH ASC
    Thanks
    DG

    Hi John
    Thanks. I looked at your URL. I do have package. Just using procedure. So my initialization string (For stored proc in Physical Layer of RPD) is
    exec demo.add_employee(VALUEOF(NQ_SESSION.empid1));
    But when I run request in Answer I get the error
    State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 17001] Oracle Error code: 900, message: ORA-00900: invalid SQL statement at OCI call OCIStmtExecute: exec demo.add_employee(105); . [nQSError: 17011] SQL statement execution failed. (HY000)
    What should I put in initialization string in RPD?
    Thanks
    DG

  • Hierarchical connect by and start with and joins?

    I've got an employees table and an identifiers table. The identifiers table is hierarchical, with parents and children. Each employee has one or more identifiers, but only one identifier is considered the "primary" or root identifier for each employee. Unfortunately, the employee table might be pointing at one of the child identifier rows and not the root. I need a fast query to join the employees with their most current (root) identifier.
    Here's code to define the problem.
    create table employees (employeeid varchar2(8), fakeNationalID varchar2(9), empname varchar2(30));
    insert into employees (employeeid, fakeNationalID, empname) values (1,'001000001','John Smith');
    insert into employees (employeeid, fakeNationalID, empname) values (2,'002000002','James Jones');
    create table realids (realidkey NUMBER, fakeNationalID VARCHAR2(9) not null,
       realNationalID VARCHAR2(9) UNIQUE, parent_realidkey number);
    insert into realids (realidkey, fakeNationalID, realNationalID, parent_realidkey) values
       (1,'001000001','111111111',3);
    insert into realids (realidkey, fakeNationalID, realNationalID, parent_realidkey) values
       (2,'002000002','222222222',null);
    insert into realids (realidkey, fakeNationalID, realNationalID, parent_realidkey) values
       (3,'003000003','333333333',null);
    commit;  
    create or replace function get_parentid (fakeID in VARCHAR2) return varchar2 is
       tempid VARCHAR2(9);
       begin
          select realNationalID into tempid
             from (
               select realNationalID, fakeNationalID
                  from realids
                  start with fakeNationalID = fakeID
                  connect by nocycle prior parent_realidkey = realidkey
                  order by level desc)
                  where rownum = 1;
          return tempid;
          exception
             when NO_DATA_FOUND then
                return NULL;
             when others then raise;
        end;
    select get_parentid('001000001') from dual; -- returns 333333333 because its linked to a parent
    select get_parentid('002000002') from dual; -- returns 222222222 because there is only one child
    select get_parentid('003000003') from dual; -- returns 333333333 because it is the parentWhat I want is to get the highest parent node in realids for each row in employees...
    This works, but is NOT very efficient:
    select employeeid, get_parentid(fakeNationalID) realid, empname from employees;
    employeeid   realid       empname
    1            333333333     John Smith
    2            222222222     James JonesYou can imagine what this would be like with 100K rows or greater. It takes about 3 minutes to run.
    This seemed like a good way to do this, but with a sub query.
    select e.employeeid, e.fakenationalid, e.empname, sub.realnationalid
       from employees,
          (select realidkey, fakenationalid, realnationalid, parent_realidkey
             from realids r
             start with r.fakenationalid = e.fakenationalid
             connect by prior r.parent_realidkey = r.realidkey) subUnfortunately, it produces an invalid identifier on e.fakenationalid (in the start with clause).
    Anyone have any ideas on how to get the top most parent node from the realids for each row in the employees table? In real life there are 6 or more employees tables spread across several remote instances some of which point at children in the realids table and some of which point at the parents. We always want the top most parent realid. Any help would be much appreciated.

    Hi,
    Thanks for posting the sample data in such a convenient form!
    It always helps to post your Oracle version, too, especially when dealing with CONNECT BY queries.
    The following does what you requested in Oracle 10:
    WITH     got_roots   AS
         SELECT     CONNECT_BY_ROOT     fakenationalid     AS leaf_id
         ,     realnationalid
         FROM     realids
         WHERE     CONNECT_BY_ISLEAF     = 1
         START WITH      fakenationalid IN ( SELECT  fakenationalid
                                              FROM    employees
         CONNECT BY     realidKEY     = PRIOR parent_realidkey
    SELECT     e.employeeid
    ,     r.realnationalid
    ,     e.empname
    FROM     employees     e
    JOIN     got_roots     r     ON     r.leaf_id     = e.fakenationalid
    ;In any query, calling a user-defined function for each row is going to be slow. Fortunately, Oracle now has built-in functions and operators that can take the place of get_parentid. The CONNECT_BY_ROOT operator, which was introduced in Oracle 10, is the key to this problem. In Oracle 9, you can get the same results using SYS_CONNECT_BY_PATH.
    It's usually faster to do the CONNECT BY query separately, and then join whatever other tables you need to the results.
    You had a good idea in your last query. The problem was that sub and employees were equal tables in the FROM clause, and you can't correlate equals. You can only correlate a sub-query to its super-query. You could make that general idea work by changing sub into a scalar sub-query,which could be correlated to employees, but I think it would be a lot less efficient than what I posted above.

  • Building a recursive query using start with/connect by......

    Hi.
    I have data in a table which looks like:
    Top level     Step     3rd Level     4th Level Script Name
    NORMAL_DAY     Step 1 of NORMAL_DAY     DATE_FEEDER     Step 1 of DATE_FEEDER      INT_EOD_DATE_FEEDER
    NORMAL_DAY     Step 2 of NORMAL_DAY     EOD_FX_RATE_UPLOAD Step 3 of EOD_FX_RATE_UPLOAD SEND_MAIL_FXSPOTS
    NORMAL_DAY     Step 2 of NORMAL_DAY     EOD_FX_RATE_UPLOAD Step 2 of EOD_FX_RATE_UPLOAD FXSPOTS
    NORMAL_DAY     Step 2 of NORMAL_DAY     EOD_FX_RATE_UPLOAD Step 1 of EOD_FX_RATE_UPLOAD FX_FTPS_GET_EOD
    NORMAL_DAY     Step 3 of NORMAL_DAY     CALENDAR_UPLOAD     Step 1 of CALENDAR_UPLOAD     CALENDAR
    NORMAL_DAY     Step 3 of NORMAL_DAY     CALENDAR_UPLOAD      Step 2 of CALENDAR_UPLOAD     MDS_STOP
    NORMAL_DAY     Step 3 of NORMAL_DAY     CALENDAR_UPLOAD     Step 3 of CALENDAR_UPLOAD     MDS_HOLIDAY
    NORMAL_DAY     Step 3 of NORMAL_DAY     CALENDAR_UPLOAD     Step 4 of CALENDAR_UPLOAD     MDS_START
    NORMAL_DAY     Step 4 of NORMAL_DAY     FA_VALUATIONS     Step 1 of FA_VALUATIONS     IMPORTMTM
    NORMAL_DAY     Step 4 of NORMAL_DAY     FA_VALUATIONS     Step 2 of FA_VALUATIONS     INT_EOD_VALUATIONS
    As you can see, it lends itself to a tree type structure. I am trying to display this information using the start with/connect by clauses.....
    My initial query looks like:
    select main.name "Top Level",
    level2.name "Step",
    level3.name "3rd Level",
    level4.name "4th Level",
    level5.name "Script Name",
    level5.run_start,
    level5.run_end,
    (level5.run_end - level5.run_start) "Time difference",
    to_char((level5.run_end - level5.run_start),'99999999999999999999999999990.0000000000')*1000 as Total_Run_Time
    from jcs_jobs main,
    jcs_jobs level2,
    jcs_jobs level3,
    jcs_jobs level4,
    jcs_jobs level5
    where main.name = 'NORMAL_DAY'
    and main.PARENT_JOB_ID IS NULL
    and main.job_id = 2253800
    and main.job_id = level2.parent_job_id
    and level2.job_id = level3.parent_job_id
    and level3.job_id = level4.parent_job_id
    and level4.job_id = level5.parent_job_id
    order by level2.step_name;
    This is a bit restrictive, so I need to make it more generic, because we can actually have more than 5 levels of depth.....
    I haven't included the time element in the sample data. This also appears to be another conundrum.....how to display milliseconds in a reasonable date format?
    Thank you very much in advance!
    Dev

    try this way:
    SQL> select script_name, job,
      2         to_char(to_date(run_start,'Jhh24miss'),'dd-mon-yyyy hh24:mi:ss') run_start,
      3         to_char(to_date(run_end,'Jhh24miss'),'dd-mon-yyyy hh24:mi:ss') run_end,
      4         (to_date(run_end,'Jhh24miss')
      5                  - to_date(
      6                        substr(root_start,
      7                               2,
      8                               decode(instr(root_start,'/',1,2),
      9                                      0,
    10                                      length(root_start)+1,
    11                                      instr(root_start,'/',1,2)
    12                                      )-2
    13                               )
    14                            ,'Jhh24miss')
    15          ) "Time difference"
    16  from (
    17  select name script_name, lpad(' ',2*level,' ')||job_id job
    18         ,to_char(run_start,'Jhh24miss') run_start, to_char(run_end,'Jhh24miss') run_end,
    19         sys_connect_by_path(to_char(run_start,'Jhh24miss'),'/') root_start
    20  from jcs_jobs
    21  where name = 'NORMAL_DAY'
    22  connect by prior job_id = parent_job_id
    23  start with PARENT_JOB_ID IS NULL and job_id = 2253800
    24  );
    SCRIPT_NAM JOB                  RUN_START            RUN_END              Time difference
    NORMAL_DAY   2253800            23-jan-2010 15:30:16 27-jan-2010 01:06:16             3,4
    NORMAL_DAY     2253801          27-jan-2010 01:06:16 28-jan-2010 15:30:16               5Max
    [My Italian Oracle blog|http://oracleitalia.wordpress.com/2010/01/23/la-forza-del-foglio-di-calcolo-in-una-query-la-clausola-model/]

  • Using a dongle and connecting with an Xbox 360...

    Hi guys,
    Quick question, i've moved into my new uni place but it hasn't got any internet. So im looking at getting a dongle but I still want to hook up my xbox to xbox live. Is there a way of feeding the internet through my imac (which is using the dongle) to the xbox. If its any help i do have the extra wireless box for the xbox and also an either-net cable.
    Thanks!

    You X-Box can connect to the internet thru the Mac using either wifi or ethernet, whichever works best for you.
    If you want Ethernet, connect a cable between them
    If you want wifi, you need to first create a network.
    System prefs -> Network.
    Select Airport then click on Network name: and select *Create network...*.
    Give it a name, tick require password.
    Now go System prefs -> Sharing.
    Click on *Internet Sharing*.
    Set *Share your connection from:* and select the dongle (likely showing up as USB).
    If you connect them using Ethernet, set *To computers using:* and select Ethernet.
    If you connect them using wifi, set *To computers using:* and select Wifi.
    You will need to enable wifi on the X-Box and connect with the password you set above.

Maybe you are looking for