Sim*_*ice 0 sql t-sql sql-server sql-view
我试图使用代码运行SQL视图
select * from vwAdvancedSearch where [report Id] = 62 and r.RequestCompanyID = 2
Run Code Online (Sandbox Code Playgroud)
但是我收到了一个错误
无法绑定多部分标识符"r.RequestCompanyID".
r.RequestCompanyID不是select中的一个字段,但需要是where子句标准的一部分.
我怎样才能让这个子句工作.
谢谢
西蒙
r.RequestCompanyID不是select中的一个字段,但需要是where子句标准的一部分.
它不必是在SELECT但确实必须在表/视图FROMcaluse.问题是您的查询使用了r您尚未定义的别名.我怀疑你想要
select * from vwAdvancedSearch where [report Id] = 62 and RequestCompanyID = 2
Run Code Online (Sandbox Code Playgroud)
要么
select * from vwAdvancedSearch r where [report Id] = 62 and r.RequestCompanyID = 2
Run Code Online (Sandbox Code Playgroud)
如果RequestCompanyID不是在视图中vwAdvancedSearch,那么你要么必须使用不同的数据源或加入到一个表确实有列.
编辑
在我看来,我有
select * from table r where r.RequestCompanyID = @RequestCompanyID.如何将值传递给它?
从参数化视图查询时,您将传递参数的值,就像将其传递给函数一样:
select * from vwAdvancedSearch(2) where [report Id] = 62
Run Code Online (Sandbox Code Playgroud)