Oracle - 即使没有匹配项,也要从in子句中选择所有值

时间:2015-04-28 19:02:04

标签: oracle in-clause

我有一个动态数据集,例如'AAA','TTT','CCC','FFF'

我需要将此数据与表T

中的列C进行匹配

e.g。我在C表中列出C列,'AAA','BBB','DDD','FFF'

我需要返回类似的内容(如果Column中不存在值,则显示null)

'AAA' 
'TTT' NULL
'CCC' NULL
'FFF'

我不想将这些集合放到表格中,因为我的数据经常变化,需要快速查询。

任何想法都非常感激。

2 个答案:

答案 0 :(得分:1)

这是你想要的吗?

  with w_data as (
        select 'AAA' c from dual union all
        select 'TTT' c from dual union all
        select 'CCC' c from dual union all
        select 'FFF' c from dual
        ),
     w_table_t as (
        select 'AAA' c from dual union all
        select 'BBB' c from dual union all
        select 'DDD' c from dual union all
        select 'FFF' c from dual
        )
  select d.c,
         NVL2(t.c, '', 'NULL' )
    from w_data d
       LEFT OUTER JOIN 
         w_table_t   t
         ON t.c = d.c 
  /

结果:

  C   NVL2
  --- ----
  AAA
  FFF
  TTT NULL
  CCC NULL

答案 1 :(得分:0)

试试这个(已编辑):


/v1/people/url=https%3A%2F%2Fwww.linkedin.com%2Fin%2Fsome-account-name