sql-server - 当列具有两列组合时的内连接
问题描述
我知道标题很烂,我只是不知道还能用什么。
我有 table Employee
,看起来像这样:
EmpId EmpNum Last
ABC 130 Smith
XVC 210 Johnson
ZAL 105 William
GFL 221 Miller
Employee
将加入EmpUpload
. 桌子看起来像这样。EmpId_Num 列可以包含 EmpId 或 EmpNum:
EmpId_Num First
221 Mary
XVC James
GFL Alicia
由于 empnum 和 empid 永远不可能相同,因此解决方案是使用两个 ctes,然后union
对两个结果执行 a,如下所示:
;with cte as
(
select First, Last from Employee inner join EmpUpload on
employee.empnum = empupload.empid_num
),
cte2 as
(
select First, Last from Employee inner join EmpUpload on
employee.empid = empupload.empid_num
)
select first,last from cte union
select first,last from cte2
有没有更短的方法?
解决方案
试试这个,你也可以在 Join 上使用 OR 运算符!
select First, Last
from Employee
inner join EmpUpload on employee.empnum = empupload.empid_num
OR employee.empid = empupload.empid_num
推荐阅读
- reactjs - 如何在 Yup 异步验证中设置动态错误消息?
- visual-studio-code - VSC 在编辑器中对齐降价列表
- arm - 为什么在ARM64指令集中找不到ARM32指令的机器码
- flutter - 如何在不调用 ModalRoute.withName 中的初始化状态并忘记路径的情况下使用 popuntil?
- ruby-on-rails - 如何将数组拆分为具有相同值的元素的子数组?(红宝石)
- css - 修改了图形的 css
- javascript - TypeError: Object(...) is not a function in export default createNavigatorFactory
- spring - 如何使用 thymeleaf 和 spring boot 按名称获取特定用户
- python - 将索引分配给矩阵中的真值的有效 numpy 方法
- spring - Spring AOP 代理 - @CacheEvict 在 @Entity 中不起作用(来自 JPA,非 Spring 类)