我试图使用代码SQL视图 - Where子句
select * from vwAdvancedSearch where [report Id] = 62 and r.RequestCompanyID = 2
运行SQL视图,但我得到一个错误返回
多部分标识符“r.RequestCompanyID”不能界。
r.RequestCompanyID是不是在选择的领域之一,但确实需要的where子句的标准的一部分。
我该如何去得到这个where子句的工作。
感谢
西蒙
我试图使用代码SQL视图 - Where子句
select * from vwAdvancedSearch where [report Id] = 62 and r.RequestCompanyID = 2
运行SQL视图,但我得到一个错误返回
多部分标识符“r.RequestCompanyID”不能界。
r.RequestCompanyID是不是在选择的领域之一,但确实需要的where子句的标准的一部分。
我该如何去得到这个where子句的工作。
感谢
西蒙
r.RequestCompanyID是不是在选择的领域之一,但确实需要的where子句的标准的一部分。
它不必是在SELECT
但确实必须在FROM
caluse表/视图。问题是您的查询使用您尚未定义的别名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
,那么你要么必须使用不同的数据源或加入到表确实有柱。
编辑
在我看来,我有
select * from table r where r.RequestCompanyID = @RequestCompanyID
。我如何将价值传递给它?
当从一个参数化的视图查询,你传递参数的值,就像您将它传递给一个函数:
select * from vwAdvancedSearch(2) where [report Id] = 62
所以在我看来,我说'select *从表r中r.RequestCompanyID = @ RequestCompanyID'谁给我传递值? –
该字段也在'from'子句中的表中,但其中有大约6个连接的表,因此标识符 –
@SimonPrice查看我的编辑。 –
如果此列,请使用'RequestCompanyID',而不是'r.RequestCompanyID'在''select * from vwAdvancedSearch where [report Id] = 62 and RequestCompanyID = 2' – wiretext
您需要为'vwAdvancedSearch'用'r'替代您的表,或者从'r.RequestCompanyID'中删除'r',是'vwAdvancedSearch'上的'RequestCompanyID'列。 –
正如问题中所建议的那样,它不是我选择的一列\字段,但需要成为我用 –