2016-10-24 5 views
2

私はSQL Select Statementsの作成に戻っていますが、問題があります。私は完璧に動作する既存のレポートを持っています。しかし、結果セットにいくつかのフィールドを追加するように求められました。提出されたファイルは、外部キーの関係を持つテーブルにあります。私はそれをクエリに追加しようとしており、失敗しています。私はselect文を別々に書くことができ、正しい結果を返します。私はそれを既存のステートメントにどのように追加するのか分かりません。私は左の結合を試して、それを選択に加え、どこに結果セットが間違っているのかを加えました。新しい列で結果セットに使用可能な場合は情報を返すために次のものを追加したいが、nullの場合は他のデータを防ぐことはできない。次へ sc.FACILITY_IDを選択し、PA_SCHED SCから をce.schd_id、PA_CPNT_EVTHSTのCE sc.SCHD_ID = ce.schd_idSQLを使用したBIRTレポートのTatementの選択または結合

に:

私は追加したい

select s.stud_id as studID, s.lname as lastName, s.fname as firstName, s.mi 
as middleName, 
    s.EMP_STAT_ID ,s.EMP_TYP_ID ,s.JL_ID ,s.JP_ID ,s.TARGET_JP_ID , 
    s.JOB_TITLE ,s.DMN_ID ,s.ORG_ID ,s.REGION_ID, s.CO_ID , DECODE 
    (s.NOTACTIVE,'Y','N','N','Y') as active , 
    s.ADDR ,s.CITY ,s.STATE ,s.POSTAL ,s.CNTRY, s.SUPER , s.COACH_STUD_ID , 
    s.HIRE_DTE,s.TERM_DTE ,s.EMAIL_ADDR, s.RESUME_LOCN ,s.COMMENTS , 
    s.SHIPPING_NAME , 
    s.SHIPPING_CONTACT_NAME, 
    s.SHIPPING_ADDR ,s.SHIPPING_ADDR1 ,s.SHIPPING_CITY , 
    s.SHIPPING_STATE, 
    s.SHIPPING_POSTAL ,s.SHIPPING_CNTRY ,s.SHIPPING_PHON_NUM, 
    s.SHIPPING_FAX_NUM, 
    s.SHIPPING_EMAIL_ADDR ,s.STUD_PSWD ,s.PIN ,s.PIN_DATE, 
    s.ENCRYPTED , s.HAS_ACCESS ,s.BILLING_NAME , s.BILLING_CONTACT_NAME , 
    s.BILLING_ADDR ,s.BILLING_ADDR1 ,s.BILLING_CITY ,s.BILLING_STATE , 
    s.BILLING_POSTAL, 
    s.BILLING_CNTRY , 
    s.BILLING_PHON_NUM ,s.BILLING_FAX_NUM ,s.BILLING_EMAIL_ADDR , 
    s.SELF_REGISTRATION ,s.SELF_REGISTRATION_DATE, s.ACCESS_TO_ORG_FIN_ACT , 
    s.NOTIFY_DEV_PLAN_ITEM_ADD , s.NOTIFY_DEV_PLAN_ITEM_MOD , 
    s.NOTIFY_DEV_PLAN_ITEM_REMOVE , 
    s.NOTIFY_WHEN_SUB_ITEM_COMPLETE ,s.NOTIFY_WHEN_SUB_ITEM_FAILURE , 
    s.LOCKED ,s.PASSWORD_EXP_DATE,s.SECURITY_QUESTION , 
    s.SECURITY_ANSWER ,s.ROLE_ID ,s.IMAGE_ID ,s.GENDER ,s.PAST_SERVICE, 
    s.LST_UNLOCK_TSTMP, 
    s.LST_UPD_USR, s.LST_UPD_TSTMP,s.MANAGE_SUB_SP, s.MANAGE_OWN_SP, 

    e.cpnt_typ_id as cpntTypeID, e.cpnt_id as cpntID, e.rev_dte as revDate, 
    e.rev_num as revNum, 
    e.schd_id as schedID, cp.cpnt_title as cpntDesc, e.grade, 
    e.compl_dte as complDate, e.cmpl_stat_id as complStatID, 
    cs.cmpl_stat_desc as complStatDesc, nvl(e.total_hrs, 0) as totalHrs, 
    nvl(e.credit_hrs, 0) as creditHrs, nvl(e.contact_hrs, 0) as contactHrs, 
    nvl(e.cpe_hrs, 0) as cpeHrs, nvl(oi.price, 0) as tuition, 
    e.inst_name as instName, e.comments as eventComments, e.es_user_name as 
    esUserName, 
    e.lst_upd_tstmp as lstTmsp, 
    e.esig_meaning_code_id || ' ' || e.esig_meaning_code_desc as 
    esigMeaningCode, 
    e.currency_code as currencyCode, cur.symbol as currencySymbol, 
    cur.description, 
    cur.active, cur.is_default, cur.label_id 
    ,s.jl_id 
    ,s.job_title 
    ,s.super 
    ,s.hire_dte 
    ,s.term_dte 
    ,eeno.user_value 
    ,co.user_value 

pa_student秒から、PA_CPNT_EVTHST電子、PA_CMPL_STAT CS、 pa_fin_order_item大井、pa_currency CUR、pa_cpnt CP、

(SELECT s.stud_id, f.user_value 
FROM PA_STUD_USER f, pa_student s 
WHERE s.stud_id = f.stud_id (+) 
AND f.col_num (+) = '10') eeno 
,(SELECT s.stud_id, f.user_value 
FROM PA_STUD_USER f, pa_student s 
WHERE s.stud_id = f.stud_id (+) 
AND f.col_num (+) = '40') co 

where e.stud_id = s.stud_id 
    and e.cmpl_stat_id = cs.cmpl_stat_id 
    and e.currency_code = cur.currency_code(+) 
    and e.order_item_id = oi.order_item_id(+) 
    and cp.cpnt_typ_id(+) = e.cpnt_typ_id 
    and cp.cpnt_id(+) = e.cpnt_id 
    and cp.rev_dte(+) = e.rev_dte 
    and s.stud_id = eeno.stud_id(+) 
    AND s.stud_id = co.stud_id(+) 




/** and trunc(e.compl_dte) >= [FromDate] 
    and not trunc(e.compl_dte) > [ToDate] 
    and s.stud_id in [UserSearch] 
    and e.cpnt_typ_id in [ItemTypeSearch] 
    and [security:pa_student s] */ 

ご協力いただきありがとうございます。 ...

(select sc.FACILITY_ID, ce.schd_id from PA_SCHED sc 
    where sc.SCHD_ID (+) = e.schd_id 
) sc 

とメインSELECTsc.FACILITY_IDを追加FROM

答えて

0

を追加しました。この中に...

これが動作するかどうかを参照してください...

SELECT s.stud_id AS studID, 
    s.lname  AS lastName, 
    s.fname  AS firstName, 
    s.mi   AS middleName, 
    s.EMP_STAT_ID , 
    s.EMP_TYP_ID , 
    s.JL_ID , 
    s.JP_ID , 
    s.TARGET_JP_ID , 
    s.JOB_TITLE , 
    s.DMN_ID , 
    s.ORG_ID , 
    s.REGION_ID, 
    s.CO_ID , 
    DECODE (s.NOTACTIVE,'Y','N','N','Y') AS active , 
    s.ADDR , 
    s.CITY , 
    s.STATE , 
    s.POSTAL , 
    s.CNTRY, 
    s.SUPER , 
    s.COACH_STUD_ID , 
    s.HIRE_DTE, 
    s.TERM_DTE , 
    s.EMAIL_ADDR, 
    s.RESUME_LOCN , 
    s.COMMENTS , 
    s.SHIPPING_NAME , 
    s.SHIPPING_CONTACT_NAME, 
    s.SHIPPING_ADDR , 
    s.SHIPPING_ADDR1 , 
    s.SHIPPING_CITY , 
    s.SHIPPING_STATE, 
    s.SHIPPING_POSTAL , 
    s.SHIPPING_CNTRY , 
    s.SHIPPING_PHON_NUM, 
    s.SHIPPING_FAX_NUM, 
    s.SHIPPING_EMAIL_ADDR , 
    s.STUD_PSWD , 
    s.PIN , 
    s.PIN_DATE, 
    s.ENCRYPTED , 
    s.HAS_ACCESS , 
    s.BILLING_NAME , 
    s.BILLING_CONTACT_NAME , 
    s.BILLING_ADDR , 
    s.BILLING_ADDR1 , 
    s.BILLING_CITY , 
    s.BILLING_STATE , 
    s.BILLING_POSTAL, 
    s.BILLING_CNTRY , 
    s.BILLING_PHON_NUM , 
    s.BILLING_FAX_NUM , 
    s.BILLING_EMAIL_ADDR , 
    s.SELF_REGISTRATION , 
    s.SELF_REGISTRATION_DATE, 
    s.ACCESS_TO_ORG_FIN_ACT , 
    s.NOTIFY_DEV_PLAN_ITEM_ADD , 
    s.NOTIFY_DEV_PLAN_ITEM_MOD , 
    s.NOTIFY_DEV_PLAN_ITEM_REMOVE , 
    s.NOTIFY_WHEN_SUB_ITEM_COMPLETE , 
    s.NOTIFY_WHEN_SUB_ITEM_FAILURE , 
    s.LOCKED , 
    s.PASSWORD_EXP_DATE, 
    s.SECURITY_QUESTION , 
    s.SECURITY_ANSWER , 
    s.ROLE_ID , 
    s.IMAGE_ID , 
    s.GENDER , 
    s.PAST_SERVICE, 
    s.LST_UNLOCK_TSTMP, 
    s.LST_UPD_USR, 
    s.LST_UPD_TSTMP, 
    s.MANAGE_SUB_SP, 
    s.MANAGE_OWN_SP, 
    e.cpnt_typ_id AS cpntTypeID, 
    e.cpnt_id  AS cpntID, 
    e.rev_dte  AS revDate, 
    e.rev_num  AS revNum, 
    e.schd_id  AS schedID, 
    cp.cpnt_title AS cpntDesc, 
    e.grade, 
    e.compl_dte   AS complDate, 
    e.cmpl_stat_id  AS complStatID, 
    cs.cmpl_stat_desc  AS complStatDesc, 
    NVL(e.total_hrs, 0) AS totalHrs, 
    NVL(e.credit_hrs, 0) AS creditHrs, 
    NVL(e.contact_hrs, 0) AS contactHrs, 
    NVL(e.cpe_hrs, 0)  AS cpeHrs, 
    NVL(oi.price, 0)  AS tuition, 
    e.inst_name   AS instName, 
    e.comments   AS eventComments, 
    e.es_user_name  AS esUserName, 
    e.lst_upd_tstmp  AS lstTmsp, 
    e.esig_meaning_code_id 
    || ' ' 
    || e.esig_meaning_code_desc AS esigMeaningCode, 
    e.currency_code    AS currencyCode, 
    cur.symbol     AS currencySymbol, 
    cur.description, 
    cur.active, 
    cur.is_default, 
    cur.label_id , 
    s.jl_id , 
    s.job_title , 
    s.super , 
    s.hire_dte , 
    s.term_dte , 
    eeno.user_value , 
    co.user_value, 
    e.schd_id, 
    sc.FACILITY_ID 
FROM pa_student s, 
    PA_CPNT_EVTHST e, 
    PA_CMPL_STAT cs, 
    pa_fin_order_item oi, 
    pa_currency cur, 
    pa_cpnt cp, 
    (SELECT s.stud_id, 
    f.user_value 
    FROM PA_STUD_USER f, 
    pa_student s 
    WHERE s.stud_id = f.stud_id (+) 
    AND f.col_num (+) = '10' 
) eeno , 
    (SELECT s.stud_id, 
    f.user_value 
    FROM PA_STUD_USER f, 
    pa_student s 
    WHERE s.stud_id = f.stud_id (+) 
    AND f.col_num (+) = '40' 
) co , 
    (select sc.FACILITY_ID, ce.schd_id from PA_SCHED sc 
    where sc.SCHD_ID (+) = e.schd_id 
) sc 
WHERE e.stud_id  = s.stud_id 
AND e.cmpl_stat_id = cs.cmpl_stat_id 
AND e.currency_code = cur.currency_code(+) 
AND e.order_item_id = oi.order_item_id(+) 
AND cp.cpnt_typ_id(+) = e.cpnt_typ_id 
AND cp.cpnt_id(+)  = e.cpnt_id 
AND cp.rev_dte(+)  = e.rev_dte 
AND s.stud_id   = eeno.stud_id(+) 
AND s.stud_id   = co.stud_id(+); 
+0

ありがとうございました!私はそれを試してみましょう。 – Eric

関連する問題