2012-04-27 77 views
0

我有一个选择我只希望为每个个案返回一个记录,并对它有问题。在查询中消除多个记录

例子:

Select 
    CaseId, Party_id, RANKING 
from... 

的问题是在充电电平的情况下可以有多个类似指控......

收费

Case ChargeCount RANKING  
    1   1  800 
    2   1  802 
    2   2  803 
    3   1  800 

我只想3例返回符合所选标准的第一次收费。 我试过用caseId使用一个简单的分区,但是这使其他地方的计数搞砸了。 有没有其他的方法来做到这一点?

感谢

+3

显示完整的查询,而不是只给我们'from ...'。您提供的信息越多,帮助就越容易。 – 2012-04-27 15:47:34

+1

应该执行什么规则来选择一个具有相同'Case'的倍数的记录?最低/最高收费/排名?抛硬币? ;) – MatBailie 2012-04-27 15:51:52

+0

基本上,*这个特定的例子应该输出什么? – 2012-04-30 09:15:45

回答

1

如何:

SELECT CaseId, ChargeCount, Ranking FROM SomeTable WHERE ChargeCount = 1 

除非我失去了一些东西,就这么简单。您的示例查询并不完全适合您所呈现的基础结构。

0

假设你想要的是一排每CaseID返回:

Select 
    CaseId, Party_id, RANKING 
from... 
GROUP BY CaseID 

注意,那里有每行多个可能的答案,这将返回的任意一个,除非你定义不知何故人来接。