建立
- 我有两个
List<T>
的。 - 的数据是未归一化,并从不同的来源,其解释了在所希望的逻辑的卷积
- 数据中的非正式化合物键是FIELDA,fieldB,fieldC。
- 在“田”都是字符串 - 引用类型 - 所以它们的值可能为空。 我想放弃,他们可能在空来匹配记录。 我得到的是,在C#空引用会匹配,但在SQL他们不这样做。 添加
!string.IsNullOrEmpty()
是很容易的。 - 这不是一个关于DB设计或关系代数问题。
- 我有覆盖其他标准的其他逻辑。 不建议减少所示那样,这可能扩大的结果集的逻辑。 见上文第5。
问题
我想找到那个listA的不是数组listB根据非正式关键的记录。 然后,我想基于部分关键比赛中以进一步缩小的结果listA的。
问题的SQL版本:
select
listA.fieldA, listA.fieldB, matching.fieldC
from listA
left join listB keyList on
listA.fieldA = keyList.fieldA and
listA.fieldB = keyList.fieldB and
listA.fieldC = keyList.fieldC
inner join listB matching on
listA.fieldA = matching.fieldA and
listA.fieldB = matching.fieldB
where
keyList.fieldA is null