基于另一个表的TSQL条件

时间:2015-10-14 21:13:04

标签: sql-server tsql stored-procedures sql-server-2012

我有一个包含如下简单查询的存储过程。该查询会提取已在作业上提交的所有出价。

但是我需要在WHERE子句中添加一个额外的部分。

有一个名为Admins的第二个表和一个名为employeeID的表中的字段。如果Admins中存在传递给存储过程的员工ID,则会下拉所有出价。如果Admins中不存在这些广告,则只会将出价降至b.actor = @employee

简而言之,如果@employee中存在Admin,请将where子句保留原样(拉下requestID的所有信息。但是如果它们不在该表中,则需要添加{ {1}}

AND b.actor = @employee

我该怎么做呢?上面的代码是较大查询中的子选择,但需要向其添加某种类型的条件。

1 个答案:

答案 0 :(得分:2)

您可以在现有的OR条款中添加WHERE子句吗?

WHERE 
  AND (   EXISTS(SELECT 'f' FROM Admins WHERE employeeid = @employeeid)
       OR b.actor = @employeeid
      )