我有一个contracts
表:
contractId date price partId
1 20120121 10 1
2 20110130 9 1
3 20130101 15 2
4 20110101 20 2
具有最大date
的合约是活动合约(不要怪我,我怪infor创建了xpps)
我需要创建查询,以便仅查看有效合同(每个零件一个合同,日期最长的合同)。
所以查询的结果应该是这样的:
contractId date price partId
1 20120121 10 1
3 20130101 15 2
我在这里没有主意了,我试过自我连接表,我试过聚合函数,但是我不能弄清楚。如果有人有任何想法,请与我分享。
3条答案
按热度按时间mbyulnm01#
这将适用于几乎所有RDBM,
如果您的RDBMS支持
Window Function
,6tr1vspr2#
dvtswwa33#
这是快速自联接:
使用子选择(嵌套选择)往往较慢。