我正在使用以下语句选择我的数据:
select distinct min(revision_number) as revno,po_number
from PO_HEADER
group by PO_NUMBER
having MIN(revision_number) > 0;
我得到以下数据:
7 30492-SA-EH504
20 30492-PS-SO895
20 30492-RA-DD219
26 30492-SA-KK474
1 30492-BA-AT236
17 30492-RA-DD386
21 30492-PS-FS803
25 30492-PS-WM324
33 30492-SA-NS011
我想在MIN(REVISION_NUMBER)
不更改任何其他值的情况下将其更新为零。例如,30492-SA-EH504
具有以下修订的列表:
30492-SA-EH504 7
30492-SA-EH504 8
30492-SA-EH504 9
30492-SA-EH504 10
我只想将当前的最小修订版 (7) 更新为零。我尝试了此更新查询,但将它们全部更新为零:
update PO_HEADER
set REVISION_NUMBER = '0'
from PO_HEADER
where exists (
select min(revision_number) as revno,po_number
from PO_HEADER
group by PO_NUMBER
having MIN(revision_number) > 0
);
会选择不同的帮助,还是我需要更复杂的东西。