在我的associates表中,我有4978人,其中至少有一个重复。
asscssn | count(*)
--------- --------
123456789 8
987654321 5
234567890 5
一个人的每个副本在associates表中都有一个唯一的id(asscid)。
asscid | asscssn
------ -------
53492 987654321
53365 987654321
53364 987654321
52104 987654321
50185 987654321
我的案情表上每个混蛋都有一个案子
docketnumber | asscid
----------- -------
2010JV0000 53492
2010JV1111 53365
2010JV2222 53364
2010JV3333 52104
2010JV4444 50185
我想采取每个人,有一个重复,抓取最新的asscid的人从协会表,并更新案件表。结果将是:
docketnumber | asscid
----------- -------
2010JV0000 53492
2010JV1111 53492
2010JV2222 53492
2010JV3333 53492
2010JV4444 53492
3条答案
按热度按时间2eafrhcq1#
如果我理解正确,您需要:
这假设“最新的”
asscid
是价值最大的那个。如果有另一列指定排序(如日期),则可以使用first_value()
相反。编辑:
如果确实要更新数据:
disbfnqx2#
你可以用
cross join
得到最新消息后asscid
. 这是演示。输出:
r6vfmomb3#
我知道你在找一个
update
声明-到目前为止没有其他答案提供。的语法
update
查询往往相当特定于每个数据库。既然已经澄清了您使用的是oracle,我建议使用一个相关的子查询。你可以自己加入
associates
表格:也可以使用窗口功能:
db fiddle上的演示:在
update
执行查询时cases
表包含: