【发布时间】:2018-12-14 17:40:40
【问题描述】:
我需要在连接表中的 2 列时使用多个 CASE 语句。
这里是场景,我们怎样才能做到这一点。
在我的选择中,我们将表 A 中的 col1 + col3 连接起来。
从表 A,
当 col2 值为 NULL 并且
如果 COL3 值为 0000
然后从表 B 的 COL1 中选择值
如果 COL3 值不等于 0000,则为 ELSE
从表 B 的 COL2 中选择值
表 A:
col1 col2 col3
aa null 0000
bb null 1234
表b:
col1 col2 col3
LMNO PQRST
我试过这样的东西,但不起作用,
select
(a.col1 || '+' || a.col3)
CASE WHEN (a.col2 IS NULL) THEN
CASE WHEN (a.col3 = '0000') THEN
(Select col1 from b)
ELSE (a.col3 <> '0000')
(Select col2 from b)
ELSE
a.col2
as TEST
【问题讨论】:
-
各种场景的样本数据和预期输出会很有用。
-
最后从A查询需求
-
现实还有另一列在两个表格中具有相同的值
-
张贴第三张有关系的表请澄清
标签: sql oracle concatenation case