小编典典

SQL:不显示重复项

sql

我不想在下面的sql的输出中 显示重复的行,所以我在那里有“与众不同”的地方,但这是行不通的。我得到像这样的输出:

PermitNumber PermitName CreatedOn  
111          ABCD       1/2/2011  
111          ABCD       3/4/2012  
222          DFES       3/6/2000

而且我只希望一行包含111,但是我得到的行多于1行,因为111具有多个修改,但是我不在乎它是否具有1或1000。

select  distinct (dbo.PermitNumber(mp.PermitId)), 
        dbo.PermitName(mp.PermitId),
    mod.[CreatedOn] as [CreatedOn]
from    tblPermit mp, dbo.[tblModification] mod
where mod.PermitId = mp.PermitId
order by 1

使用SQL Server


阅读 359

收藏
2021-04-22

共1个答案

小编典典

不同适用于所有列,因此您可以使用聚合函数:

  select  mp.PermitNumber,
    mp.PermitName,
    max(mod.[CreatedOn])as [CreatedOn]
  from    tblPermit mp
  Inner join dbo.[tblModification] mod
      on mod.PermitId = mp.PermitId
  Group by mp.PermitNumber,
    mp.PermitName
  order by 1
2021-04-22