我試圖使用代碼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'列。 –
正如問題中所建議的那樣,它不是我選擇的一列\字段,但需要成爲我用 –