就是本来用xxt_inf_gene_data_b表取数的,但是现在我想,如果xxt_inf_gene_data_b没有符合要求的数据,那就从xxt_inf_gene_data_his_b取数据 SELECT g_function
|| cal_operator
NVL (DECODE (e.rep_amount_name
, 'DAYPBD', c.amount_1
, 'DAYPBC', c.amount_2
, 0)
, 0)
INTO v_return
FROM (SELECT *
FROM xxt_inf_gene_data_b c
where c.comd = '99999') c
, xxt_inf_sim_formula_def_b a
, xxt_inf_gene_common_def_b b
xxt_inf_frequency_def_b d
, xxt_inf_repcolumn_ref_b e
WHERE b.formula_gene_id = a.formula_gene_id
AND c.segment3(+) = b.gene_code
AND c.source_code(+) = b.data_source_code
AND d.frequency_code = e.freq_code
AND c.segment1(+) = v_segment1
AND c.currency_code(+) = v_currency_code
AND c.period_name(+) = v_period_name
AND c.ledger_id(+) = v_ledger_id
如何在AND加条件呀,如果不能加要怎么做呢?
|| cal_operator
NVL (DECODE (e.rep_amount_name
, 'DAYPBD', c.amount_1
, 'DAYPBC', c.amount_2
, 0)
, 0)
INTO v_return
FROM (SELECT *
FROM xxt_inf_gene_data_b c
where c.comd = '99999') c
, xxt_inf_sim_formula_def_b a
, xxt_inf_gene_common_def_b b
xxt_inf_frequency_def_b d
, xxt_inf_repcolumn_ref_b e
WHERE b.formula_gene_id = a.formula_gene_id
AND c.segment3(+) = b.gene_code
AND c.source_code(+) = b.data_source_code
AND d.frequency_code = e.freq_code
AND c.segment1(+) = v_segment1
AND c.currency_code(+) = v_currency_code
AND c.period_name(+) = v_period_name
AND c.ledger_id(+) = v_ledger_id
如何在AND加条件呀,如果不能加要怎么做呢?
sql 1 从xxt_inf_gene_data_b表取数据
sql 2 从xxt_inf_gene_data_his_b表取数据根据结果集判断,
如果sql 1没有返回数据,再从sql 2取数据。