【问题标题】:show approve and pending documents显示批准和待处理的文件
【发布时间】:2014-02-03 15:01:35
【问题描述】:

当用户上传文件然后文件保存在这个表中并将值设置为3意味着这是在等待

 DocID      DocName UploadedDate    Uploadfile  DocTypeID   DepID   ApproveID    UploadedBy UserID  
36        erp system 2014-02-03     Presentation1.pptx  1    4        3           noreen    21  

当主管批准/拒绝此文件时,则将批准更改为 1,例如批准

所以我想在第一个用户上传文件时显示,然后他/她查看文件,哪些文件正在审核、批准和拒绝

这是我尝试的sp

ALTER procedure [dbo].[UserIDDoc]

@UserID int
as
Select 
 dbo.DocumentInfo.DocID as DocumentID, 
   dbo.DocumentInfo.DocName as DocumentName, 
 dbo.DocumentInfo.UploadedDate as UploadedDate,
 dbo.DocType.DocType as Document, 

 dbo.Department.DepType as Department, 
dbo.DocumentInfo.Uploadfile as FileUploaded,

 dbo.ApproveType.ApproveType AS Status 

FROM 
dbo.DocumentInfo
inner JOIN dbo.DocType ON dbo.DocumentInfo.DocTypeID=dbo.DocType.DocTypeID
inner JOIN dbo.Department ON dbo.DocumentInfo.DepID=dbo.Department.DepID

left join dbo.ApproveType on dbo.DocumentInfo.ApproveID=dbo.ApproveType.ApproveID
INNER JOIN dbo.Approval ON dbo.DocumentInfo.DocID = dbo.Approval.DocID 

 where UserID=@UserID AND dbo.Approval.DesigID = 3

但是当我执行这个 sp 时,它会像这样显示我

DocumentID  DocumentName    UploadedDate    Document    Department       FileUploaded                               Status
    36          ERP SYSTEM       2014-01-20     MSWord  Computer Science    system admin first assignment.docx  Pending
    36          ERP SYSTEM      2014-01-20  MSWord  Computer Science    system admin first assignment.docx  Pending
    36          ERP SYSTEM      2014-01-20  MSWord  Computer Science    system admin first assignment.docx  Pending
    39           def          2014-01-22    MSWord  Human Resource  BISE RAWALPINDI.docx                  Approve

但我想要这个

DocumentID  DocumentName    UploadedDate    Document    Department       FileUploaded                     Status
 36         ERP SYSTEM      2014-01-20  MSWord  Computer Science    system admin first assignment.docx  Pending
 39          def          2014-01-22    MSWord  Human Resource  BISE RAWALPINDI.docx                  Approve

【问题讨论】:

    标签: asp.net sql sql-server-2008 stored-procedures


    【解决方案1】:

    尝试添加 DISTINCT 关键字

     Select DISTINCT 
             dbo.DocumentInfo.DocID as DocumentID,    
             dbo.DocumentInfo.DocName as DocumentName,  
             dbo.DocumentInfo.UploadedDate as UploadedDate,  
             dbo.DocType.DocType as Document, 
             dbo.Department.DepType as Department,  
             dbo.DocumentInfo.Uploadfile as FileUploaded,
             dbo.ApproveType.ApproveType AS Status 
     FROM  dbo.DocumentInfo 
     inner JOIN dbo.DocType    ON  dbo.DocumentInfo.DocTypeID=dbo.DocType.DocTypeID 
     inner JOIN dbo.Department ON dbo.DocumentInfo.DepID=dbo.Department.DepID
     left join dbo.ApproveType on dbo.DocumentInfo.ApproveID=dbo.ApproveType.ApproveID 
     INNER JOIN  dbo.Approval ON dbo.DocumentInfo.DocID = dbo.Approval.DocID     
     where UserID=@UserID AND dbo.Approval.DesigID = 3
    

    【讨论】:

    • DISTINCT 关键字告诉 SQL 只显示一行而不是多行,所有列都相同
    【解决方案2】:

    【讨论】:

    • 您能否提供更多信息来说明为什么这是一个好主意?应该如何使用。等等。仅链接的答案在 SO 上不受欢迎。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-19
    • 2021-11-28
    • 2021-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多