早安我心爱的sql向导和巫师,
我想要在3个表中替换3列数据.目前我正在使用NVL功能,但这只限于两列.
参见下面的例子:
SELECT ccc.case_id,NVL (ccvl.descr,ccc.char)) char_val
FROM case_char ccc,char_value ccvl,lookup_value lval1
WHERE
ccvl.descr(+) = ccc.value
AND ccc.value = lval1.descr (+)
AND ccc.case_id IN ('123'))
case_char table
case_id|char |value
123 |email| work_email
124 |issue| tim_
char_value table
char | descr
work_email | complaint mail
tim_ | timeliness
lookup_value table
descr | descrlong
work_email| xxx@blah.com
本质上我想要做的是如果存在与lookup_value.descr的case_char.value匹配,然后显示它,如果没有,那么如果存在与case_char.value和char_value.char的匹配然后显示它.
我只是想从char_value表中返回’issue’的描述,但是对于’email’,我想从lookup_value表(全部在同一个别名’char_val’)下返回descrlong.
所以我的问题是,如何实现这一点,记住我希望他们出现在同一个别名下.
如果您需要任何进一步信息,请告知我们.
多谢你们