2016-06-07 174 views
0

我正在嘗試創建一個不返回具有相同No_的行的SQL查詢。 如何刪除No_列中的重複項?我只想留下最後發帖日期欄中的數據。SQL - 刪除查詢中的重複項

select Item.No_, Entry.[Posting Date], Entry.[Remaining Quantity], MinMax.Maximum 
FROM Item 
join Entry 
on Item.No_ = Entry.[Item No_] 
join MinMax 
on Item.No_ = MinMax.Item No_ 
order by Entry.[Remaining Quantity] desc 

輸出:

enter image description here

,但我想輸出是最後發佈日期:

enter image description here

+0

您正在使用哪些DBMS? '[Item No_]'無效標準SQL –

+0

您可以使用'MAX()'或'LIMIT'子句。 – rhavendc

回答

1

您可以使用包含每個No_最新的日期派生表:

select Item.No_, 
     Entry.[Posting Date], Entry.[Remaining Quantity], 
     MinMax.Maximum 
FROM Item 
join (
    select max([Posting Date]) as max_Date, [Item No_] 
    from Entry 
    group by [Item No_] 
) as e on e.[Item No_] = Item.No_ 
join Entry on Item.No_ = Entry.[Item No_] and e.max_Date = Entry.[Posting Date] 
join MinMax on Item.No_ = MinMax.Item No_ 
order by Entry.[Remaining Quantity] desc 

加入此派生表可過濾掉與最近的[Posting Date]記錄不相關的記錄,每No_

+0

是的,就是這樣。非常感謝... – pape