繁体   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