有条件地从连接表中返回列值 - Oracle

时间:2013-05-16 18:41:05

标签: sql oracle oracle11g

您好我有一个表格DataTable:

Name Age Address 
----------------
Tom   21   XYZ
John  23   X123
Sam   32   Y123

还有另一个表MappingTable:

Name  Address 
-------------
John  A12345

现在我想创建一个返回以下内容的查询:

Name Age Address 
----------------
Tom   21   XYZ
John  23   A12345
Sam   32   Y123

我该怎么做?我尝试加入表格,但这将取代完整的列。我甚至无法使用Update,因为我只使用此查询返回视图。

谢谢, 莫妮卡

1 个答案:

答案 0 :(得分:3)

select dt.name, 
       dt.age,
       coalesce(mt.address, dt.address)
from DataTable dt
  left join MappingTable mt 
         on mt.Name = dt.Name;