1
我有一个存储过程包含一个简单的查询,如下所示。该查询会拉下在工作中提交的所有出价。TSQL有条件的地方基于另一个表
但是,我需要在WHERE
子句中增加一个附加部分。
还有第二个表,名为Admins
,表中的字段employeeID
。如果传递给存储过程的员工标识存在于Admins
中,它将降低所有出价。如果它们不存在于Admins
中,则只会降低出价b.actor = @employee
。
总之,如果存在Admin
@employee
,离开where子句它是如何(拉下来的RequestID的所有信息。但是,如果他们没有在该表中,需要在AND b.actor = @employee
SELECT b.bidID ,
b.requestID ,
b.notes ,
b.team ,
b.devDays ,
b.complexity ,
b.estimatedCost ,
b.actor ,
b.status,
REPLACE(CONVERT (VARCHAR (20), b.timestamp, 106), ' ', '-') AS timestamp,
e.PreferredName AS bidderFirstName,
e.LastName AS bidderLastName,
e.NTID AS bidderNTID
FROM dbo.BS_ToolRequests_Bids AS b
LEFT OUTER JOIN dbo.EmployeeTable AS e
ON b.actor = e.QID
WHERE b.requestID = t.requestID
FOR XML PATH ('data'), TYPE, ELEMENTS, ROOT ('bids')
添加我怎么能去这样做?上面的代码是一个子选择在一个较大的查询,但需要某种类型的条件添加到它。
这实际上是完美的,不知道'存在'可以在'AND'部分中使用。很快就会接受。 – SBB