我不想在下面的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
不同适用于所有列,因此您可以使用聚合函数:
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