我尝试此查询以显示上传文档..此查询有效
CREATE PROCEDURE b
AS
SELECT di.DocID,
di.DocName,
di.Uploadfile,
dt.DocType,
d.DepType,
at.ApproveType
FROM DocumentInfo di
LEFT OUTER JOIN
DocType dt ON dt.DocTypeID = di.DocTypeID
LEFT OUTER JOIN
Department d ON d.DepID = di.DepID
LEFT OUTER JOIN
ApproveType at ON at.ApproveID = di.ApproveID
AND at.ApproveID = 3
我在此创建一个批准表 批准表 文档ID approveid approveby 管理员批准/拒绝文件,数据进入该表,即
docid approveid approveby
1 2 john
它有效,但在上面的查询中我想显示用户上传任何文件然后其状态显示为待处理然后当管理员批准/拒绝文件然后状态更改为批准/拒绝..我是如何做到这一点.. 这是管理员批准/拒绝文档和数据进入批准表并且工作正常的形式 admin approve/reject documents
j这里是我显示状态的形式 show status here (image)
任何解决方案?
答案 0 :(得分:0)
我想我明白你的意思了。如果匹配行中存在匹配的行,那么您希望显示Pending,如果匹配的行存在,则表示已批准/未批准(来自approveid)?
看看这是否有帮助:
CREATE PROCEDURE b
AS
SELECT di.DocID,
di.DocName,
di.Uploadfile,
dt.DocType,
d.DepType,
at.ApproveType
FROM DocumentInfo di
JOIN
DocType dt ON dt.DocTypeID = di.DocTypeID
JOIN
Department d ON d.DepID = di.DepID
LEFT OUTER JOIN
Approval a ON a.DocID = di.DocID
JOIN
ApproveType at ON at.ApproveID = ISNULL(a.Approveid, 3)
如果Approval表中缺少文档,则a.ApproveID将为null。如果ApproveID为null,则ISNULL函数返回3,如果它不为null,则返回实际值。
我还删除了你可能不需要的外连接。但是需要针对Approval的外部联接。