1
私はPL/SLQ関数内で次のような状況に陥っています。既存のテーブルのフィールド値に応じて、別の選択を実行することがあります。具体的には、私はSYS_FIELD値を取得する必要がある特定のBILL CODE(PINGPONG)に対して複数の行を持つことができます。フィールドprep_seq_num = 0およびprimary_ind = 0の場合、この行のsys_field値を直ちに取得し、0とは異なる可能性があるprep_seq_numおよびprimary_ind値を考慮しないでください。存在しない場合は、prep_seq_num!= 0およびprimary_ind = 1からsys_field値を取得します。私はそれが非常に複雑になっていますが、それでも私はD」THEN ELSEまたはIFかどうかを知る必要があります条件付き選択 - パート2
SELECT SYS_FIELD
INTO v_start_of_invoice
FROM BILL
WHERE TRACKING_ID = v_previous_trackingID
AND BSCO_CODE_ID = 'PINGPONG'
AND CHRG_ACCT_ID = v_ACCT_ID
AND PREP_SEQ_NUM = 0 -- maybe not needed here
AND ITEM_CAT_CODE_ID=1
AND PARTITION_KEY = v_prev_partition
AND SUBPARTITION_KEY = v_prev_subpartition
AND PRIMARY_IND=0;
In the second case
SELECT SYS_FIELD
INTO v_start_of_invoice
FROM BILL
WHERE TRACKING_ID = v_previous_trackingID
AND BILL_CODE_ID = 'PINGPONG'
AND ITEM_CAT_CODE_ID in ('5' , '-100')
AND PARTITION_KEY = v_prev_partition
AND SUBPARTITION_KEY = v_prev_subpartition
AND PRIMARY_IND=1;
わからない:最初のケースでは、私は実行する必要がありますのでケースのみのインスタンス/列の両方が可能でなければならないためにCASEまたは何を使用すべきか、どのようにするべきか。