【发布时间】:2017-01-06 07:45:24
【问题描述】:
我有两个表,分别是 Table1 和 Table2
Table1
custId--custName--custAge
c1--c1name--32
c2--c2name--41
c3--c3name--41
表2
custId--verified--custName
c1--Y--c1FullName
c2--N--c2FullName
我需要连接表 1 和表 2,因此如果表 2 中验证的列是 Y,我需要表 2 中的 custName 而不是表 1。
因此,所需的输出是:(如果该 custId 的验证列是 Y,则从 Table2 覆盖 custName 列)
custId--custName--custAge
c1--c1FullName--32
c2--c2name--41
c3--c3name--41
我写了以下查询,但没有给出正确的结果。请帮忙。
select T1.custId, NVL(T2.custName, T1.custName),T1.custAge
from Table1 T1
left join Table2 T2 on T1.custId=T2.custId and T2.verified='Y'
【问题讨论】:
-
NVL在Oracle中可用,所以RDBMS是Oracle
标签: sql sql-server oracle join rdbms