SQL 查看 - Where 子句

SQL View - Where clause

我正在尝试 运行 SQL 使用代码

查看
select * from vwAdvancedSearch where [report Id] = 62 and r.RequestCompanyID = 2

但收到错误返回

The multi-part identifier "r.RequestCompanyID" could not be bound.

r.RequestCompanyID 不是 select 中的字段之一,但确实需要成为 where 子句条件的一部分。

我将如何使这个 where 子句起作用。

谢谢

西蒙

r.RequestCompanyID is not one of the fields in the select but does need to be a part of the criteria of the where clause.

它不必在 SELECT 中,但 必须在 FROM 中的 table/view 中。问题是您的查询使用了您尚未定义的别名 r。我怀疑你想要

select * from vwAdvancedSearch where [report Id] = 62 and RequestCompanyID = 2

select * from vwAdvancedSearch r where [report Id] = 62 and r.RequestCompanyID = 2

如果 RequestCompanyID 不在视图 vwAdvancedSearch 中,那么您要么必须使用不同的数据源,要么加入 包含的 table有专栏。

编辑

In my view I have select * from table r where r.RequestCompanyID = @RequestCompanyID. How do I pass the value to it?

从参数化视图查询时,您可以像将参数值传递给函数一样传递参数值:

select * from vwAdvancedSearch(2) where [report Id] = 62