我有2个程序(比如A和B)。它们都返回具有相似列集的数据(Id,Name,Count)。更具体地说,程序结果示例如下:
A:
Id Name Count
1 A 10
2 B 11
B:
Id Name Count
1 E 14
2 F 15
3 G 16
4 H 17
ID生成为ROW_NUMBER()
,因为我没有这些记录的标识符,因为它们是聚合值。
在代码中,我使用相同的类NameAndCountView
查询两个结果
最后我的问题。当我按顺序执行两个程序后查看结果时,我得到以下内容:
A:
Id Name Count
1 A 10 ->|
2 B 11 ->|
|
B: |
Id Name Count |
1 A 10 <-|
2 B 11 <-|
3 G 16
4 H 17
如您所见,第二组中的结果将替换为第一组中具有相同ID的结果。当然问题是因为我使用相同的类来检索数据,对吧?
问题是如何在不创建额外的NameAndCountView2
类似的课程的情况下完成这项工作?
答案 0 :(得分:1)
如果可能的话,如果你真的不介意原来的 Id 值,也许你可以尝试让第一个查询返回甚至ID:
ROW_NUMBER() over (order by .... )*2
而第二个返回奇数Ids:
ROW_NUMBER() over (order by .... )*2+1
这也可以让你知道Ids的来源。
我想通过查询号码 i 选择
,这对于N个查询是可重复的ROW_NUMBER() over (order by .... )*n+i
希望这会有所帮助