簡體   English   中英

SQL-從查詢中刪除重復項

[英]SQL - remove duplicates from query

我正在嘗試創建一個SQL查詢,該查詢將不返回具有相同No_的行。 如何刪除No_列中的重復項? 我只想保留基於最后發布日期列的數據。

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

輸出:

在此處輸入圖片說明

但我想輸出的是最后發布日期:

在此處輸入圖片說明

您可以使用包含每個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

聯接到此派生表將濾除與每個No_具有最新[Posting Date]的記錄無關的記錄。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM