SQL左连接条件设置:仅当Claims.Modifier为'A'/'B'时启用该字段匹配
调整左连接条件的解决方案
你可以通过在ON子句中添加逻辑判断来实现需求,修改后的SQL语句如下:
Select * From Claims Left Join Rates On Claims.ID = Rates.ID AND Claims.Code = Rates.Code AND Claims.Date = Rates.Date AND ( Claims.Modifier NOT IN ('A', 'B') OR Claims.Modifier = Rates.Modifier )
逻辑说明
- 当
Claims.Modifier的值为'A'或'B'时,OR后的Claims.Modifier = Rates.Modifier会生效,必须满足该字段匹配才能完成连接; - 当
Claims.Modifier为Null或其他值时,OR前的Claims.Modifier NOT IN ('A', 'B')成立,此时只需ID、Code、Date三个字段匹配即可完成连接。
内容的提问来源于stack exchange,提问作者Darum
相关产品推荐
相关产品推荐

