1. Get rid of all advertisements and get unlimited access to documents by upgrading to Premium Membership. Upgrade to Premium Now and also get a Premium Badge!

SQL Query

Discussion in 'SQL PL/SQL' started by Namita, Nov 18, 2009.

  1. Namita

    Namita Guest

    Dear All,
    I am new to Oracle and need some helping hand.
    I have written a query as shown below:
    Code (SQL):


                SELECT ocr.id "Requirement Id",octcr.nm_status "Test Run Status"
                FROM odf_ca_release_object ocro,odf_ca_rel_feature ocrf , ODF_CA_REQUIREMENT ocr , odf_ca_test_case octc  , ODF_CA_TEST_CASE_RUN octcr, odf_ca_test_runs octr,
                (
                        SELECT test_case_id ,  tcrDetailStatus STATUS , tcrid tc_run_id
                                    FROM
                                    (
                                        SELECT octcr.id tcrDetailId , octcr.nm_status tcrDetailStatus
                                        FROM   odf_ca_release_object ocro ,
                                        odf_ca_rel_feature ocrf , ODF_CA_REQUIREMENT ocr ,odf_ca_test_case octc  ,  ODF_CA_TEST_CASE_RUN octcr, odf_ca_test_runs octr
                                        WHERE octcr.nm_status IS NOT NULL
                                        AND  ocrf.ODF_PARENT_ID = 5029002 -- @WHERE:PARAM:XML:INTEGER:/data/id/@value@
                                        AND ocro.id = ocrf.odf_parent_id
                                        AND ocr.NM_FEATURE = ocrf.CODE
                                        AND octcr.odf_parent_id = octr.id
                                        AND     ocr.id = octc.nm_intro_by_req
                                        AND    octcr.test_case_id=octc.code            
                                        AND octcr.TEST_CASE_ID IS NOT NULL
                                    )        
                      LEFT OUTER JOIN
                      (
                                        SELECT tc_run.test_case_id test_case_id , MAX(tc_run.id) tcrid
                                        FROM odf_ca_test_runs tr , odf_ca_test_case_run tc_run , odf_ca_test_case tc
                                        WHERE tr.id = tc_run.odf_parent_id AND tc_run.test_case_id IS NOT NULL AND tc_run.id IS NOT NULL
                                        AND tc_run.nm_status IS NOT NULL AND tc.code = tc_run.test_case_id
                                        GROUP BY  tc_run.test_case_id
                       ) ON tcrid = tcrDetailId
                 ) x
                 WHERE ocro.id = 5029002 AND ocr.nm_release =ocro.id
                 AND ocr.NM_FEATURE = ocrf.CODE
                 AND octcr.odf_parent_id = octr.id
                 AND ocr.id = octc.nm_intro_by_req
                 AND    octcr.test_case_id=octc.code
                 AND x.tc_run_id IS NOT NULL AND x.test_case_id IS NOT NULL AND octcr.id = x.tc_run_id
                 
                 GROUP BY ocr.id, octcr.nm_status
                 ORDER BY ocr.id
       

     
    The result of this query is attached in file.

    Thanks & Best Regards,
    Namita Mishra
     

    Attached Files:

  2. rajavu

    rajavu Forum Guru

    Messages:
    815
    Likes Received:
    52
    Trophy Points:
    610
    Location:
    @ Bangalore , India
    Please give the issue description in the posting itself so that somebody could help you. You mentioned the issue in the attached file. Most of the people wont be interested to open and find the issue.

    Anyway the following code may Help you. Its a matter of DECODE .
    Code (SQL):

    SELECT ocr.id "Requirement Id", DECODE ( COUNT (DISTINCT DECODE(octcr.nm_status,7,2,5,0,1)),
                                             1,  CASE MIN (DECODE(octcr.nm_status,7,2,5,0,1))
                                                 WHEN  2 THEN 'PASS'
                                                 WHEN  0 THEN 'FAIL'
                                                 ELSE  'OTHERS' END,
                                             CASE MIN (DECODE(octcr.nm_status,7,2,5,0,1))
                                             WHEN 0 THEN 'FAIL'
                                             ELSE  'OTHERS' END
                                                  )  "Final Status"  
                FROM odf_ca_release_object ocro,odf_ca_rel_feature ocrf , ODF_CA_REQUIREMENT ocr , odf_ca_test_case octc  , ODF_CA_TEST_CASE_RUN octcr, odf_ca_test_runs octr,
                (
                        SELECT test_case_id ,  tcrDetailStatus STATUS , tcrid tc_run_id
                                    FROM
                                    (
                                        SELECT octcr.id tcrDetailId , octcr.nm_status tcrDetailStatus
                                        FROM   odf_ca_release_object ocro ,
                                        odf_ca_rel_feature ocrf , ODF_CA_REQUIREMENT ocr ,odf_ca_test_case octc  ,  ODF_CA_TEST_CASE_RUN octcr, odf_ca_test_runs octr
                                        WHERE octcr.nm_status IS NOT NULL
                                        AND  ocrf.ODF_PARENT_ID = 5029002 -- @WHERE:PARAM:XML:INTEGER:/data/id/@value@
                                        AND ocro.id = ocrf.odf_parent_id
                                        AND ocr.NM_FEATURE = ocrf.CODE
                                        AND octcr.odf_parent_id = octr.id
                                        AND     ocr.id = octc.nm_intro_by_req
                                        AND    octcr.test_case_id=octc.code            
                                        AND octcr.TEST_CASE_ID IS NOT NULL
                                    )        
                      LEFT OUTER JOIN
                      (
                                        SELECT tc_run.test_case_id test_case_id , MAX(tc_run.id) tcrid
                                        FROM odf_ca_test_runs tr , odf_ca_test_case_run tc_run , odf_ca_test_case tc
                                        WHERE tr.id = tc_run.odf_parent_id AND tc_run.test_case_id IS NOT NULL AND tc_run.id IS NOT NULL
                                        AND tc_run.nm_status IS NOT NULL AND tc.code = tc_run.test_case_id
                                        GROUP BY  tc_run.test_case_id
                       ) ON tcrid = tcrDetailId
                 ) x
                 WHERE ocro.id = 5029002 AND ocr.nm_release =ocro.id
                 AND ocr.NM_FEATURE = ocrf.CODE
                 AND octcr.odf_parent_id = octr.id
                 AND ocr.id = octc.nm_intro_by_req
                 AND    octcr.test_case_id=octc.code
                 AND x.tc_run_id IS NOT NULL AND x.test_case_id IS NOT NULL AND octcr.id = x.tc_run_id              
                 GROUP BY ocr.id
                 ORDER BY ocr.id
     
    The Code is not tested.