TSQL 2008 R2
对于给定的 PO#,我有重复的行项目,每个项目都有自己的唯一 ID。我需要删除重复项。我不知道每个 PO# 有多少重复项。因为有一个#LineItems 我知道我只想要第一个(顶部)x(#lineIems)行项目。
我有一张这样的桌子:
LineitemID PO# #LineItems
---------- ------- ----------
11111111 12345 3
22222222 12345 3
33333333 12345 3
44444444 12345 3
55555555 12345 3
66666666 12345 3
77777777 54321 2
88888888 54321 2
99999999 54321 2
10101010 54321 2
...
我需要这样的表:
LineitemID PO# #LineItems
---------- ------- ----------
11111111 12345 3
22222222 12345 3
33333333 12345 3
77777777 54321 2
88888888 54321 2
...
所以基本上有办法做这样的事情:
DECLARE @top int = (SELECT TOP 1 FROM tblLineItems t WHERE t.PO# = @PO)
SELECT TOP (@top)
FROM tblLineItems
并为每个 PO 执行此操作#