有两个表NewEmployee,Oldemployee.它们包含相同的列(Empid,Name).NewEmployee包含来自oldEmployee以及其他人的记录.如果NewEmployee包含OldEmployee记录或"N",我需要新列'IsOld'来显示'Y'.请帮我查询.
尝试这样的事情
select N.Empid, N.Name, case when O.Empid is NULL then 'N' else 'Y' END as IsOld from NewEmployee N left outer join Oldemployee O on N.Empid = O.Empid
LEFT OUTER JOIN
返回NULL
时,有中没有匹配Oldemployee
表,通过它我们可以设置IsOld
标志.
Case
声明的选择
对于Oracle:Decode和IIF
对于Sql Server 2012+:IIF