Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL从结果中删除重复项_Sql - Fatal编程技术网

SQL从结果中删除重复项

SQL从结果中删除重复项,sql,Sql,当SQL添加“备用审批人”(针对采购订单)时,它会为实际审批人创建一条附加记录。因此,试图找到一种方法,为那些也有备选方案的审批人只显示一条记录。i、 e.“jlhayes”有2项记录。一个有替补,一个没有。对于这些记录,我只想查看有备用记录的记录。谢谢您的帮助。我已经花了几个小时没有想法了。你可以在max(AltApprover)中包装AltApprover案例陈述,并按DAC.LocationCode、DAC.Description、requapp.Rank、App.Approver分组,对


当SQL添加“备用审批人”(针对采购订单)时,它会为实际审批人创建一条附加记录。因此,试图找到一种方法,为那些也有备选方案的审批人只显示一条记录。i、 e.“jlhayes”有2项记录。一个有替补,一个没有。对于这些记录,我只想查看有备用记录的记录。谢谢您的帮助。我已经花了几个小时没有想法了。

你可以在
max(AltApprover)
中包装
AltApprover
案例陈述,并按
DAC.LocationCode、DAC.Description、requapp.Rank、App.Approver
分组,对
FromDate
ToDate
也可以这样做:

select DAC.LocationCode, DAC.Description, ReqApp.Rank, App.Approver as UserName,
CASE WHEN app.Approver = app.AlternateApprover THEN '' 
ELSE AltApp.AlternateApprover END As AltApprover, 
ISNULL(CONVERT(Varchar,AltApp.FromDate,101),'')AS FromDate,
ISNULL(CONVERT(Varchar,AltApp.ToDate,101),'')AS ToDate
from tblAPAlternateApprovers App
INNER JOIN tblAPAlternateApprovers AltApp
ON App.ID = AltApp.ID
INNER JOIN tblAPReqLocations DAC
ON App.tblAPReqLocationsID = DAC.ID
INNER JOIN tblAPReqApprover ReqApp
ON App.Approver = ReqApp.Approver AND 
App.tblAPReqLocationsID = ReqApp.LocationID
ORDER BY DAC.LocationCode ASC, ReqApp.Rank asc
select DAC.LocationCode, DAC.Description, ReqApp.Rank, App.Approver as UserName,
max(CASE WHEN app.Approver = app.AlternateApprover THEN '' 
ELSE AltApp.AlternateApprover END) As AltApprover, 
max(ISNULL(CONVERT(Varchar,AltApp.FromDate,101),'')) AS FromDate,
max(ISNULL(CONVERT(Varchar,AltApp.ToDate,101),'')) AS ToDate
from tblAPAlternateApprovers App
INNER JOIN tblAPAlternateApprovers AltApp
ON App.ID = AltApp.ID
INNER JOIN tblAPReqLocations DAC
ON App.tblAPReqLocationsID = DAC.ID
INNER JOIN tblAPReqApprover ReqApp
ON App.Approver = ReqApp.Approver AND 
App.tblAPReqLocationsID = ReqApp.LocationID
GROUP BY DAC.LocationCode, DAC.Description, ReqApp.Rank, App.Approver
ORDER BY DAC.LocationCode ASC, ReqApp.Rank asc