【发布时间】:2014-11-10 03:29:43
【问题描述】:
我有两张桌子 - 具有列 ID、代码、ProviderId 的表记录 带有 Code、Number、ProviderId 列的表格代码
样本数据:
表格记录
ID Code ProviderId
1 ABC 1
2 DEF 2
3 XYZ 1
4 PQR 2
表格代码
Code Number ProviderId
ABC 1111 1
Default 9999 1
XYZ 2222 2
Default 4444 2
记录表中的所有行都会有一个代码。 代码 表将有一组代码与其他信息一起定义。记录表中的所有代码都不必在代码表中都有一个条目。对于记录表中的代码,如果存在对应的值则选择相同的,否则需要根据ProviderID列选择默认代码。
我的预期结果是:
ID Code Number
-------------------------
1 ABC 1111
2 DEF 9999 -> Picked up the default for ProviderId 1
3 XYZ 2222
4 PQR 4444 -. Picked up the default for ProviderId 2
我能够使用左外连接将记录添加到表变量中,然后再次执行内连接来实现这一点。 我想知道我是否可以通过一次选择来实现这一目标。
【问题讨论】:
-
Ben10 :但 DEF 的 providerID = 2。因此它不应该返回 ProviderId 2 的默认值,即 4444
标签: sql-server