2016-06-07 173 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