【发布时间】:2016-10-19 14:19:14
【问题描述】:
您好,请您看看为什么我的查询没有返回不同的记录。我想要具有以下条件OE1='SCHEDCHNG' 的结果,只需要每个 orderid 或 ordernum 的最近记录意味着每个 ordernum 或 orderid 只有一条记录,并且 dropdate 也为空。我的查询如下
select DISTINCT TOP 100 OE.ORDERID,OE.ID,OE.ORDERNUM,OE.OE4 from OrderExports OE
inner join (
select ORDERNUM, max(OE4) as MaxDate
from OrderExports
group by ORDERNUM
) tm
on OE.ORDERNUM = tm.ORDERNUM and OE.OE4 = tm.MaxDate
inner join orde_ O on OE.ORDERID = O.ORDERID
WHERE OE1='SCHEDCHNG' AND O.DROPDATE is null
【问题讨论】:
-
DISTINCT排除相同的行,您图片中的所有行都不同。 -
@JaydipJ 对不起,我错过了,但这不会影响我认为的结果集
-
这些是不同的记录。例如,1870616 有两个不同的 ID
-
@AlexK。是的,所以我没有得到正确的结果,但我该怎么做,请告诉我
-
@JohnCappelletti 我们可以在 ORDERNUM 上区分所有结果如果我不显示 orderid 没有任何问题
标签: sql-server stored-procedures distinct