我編寫此代碼多部分標識符不能在左外的束縛聯接函數
SELECT tblprsn.prsnid, tblprsn.name
FROM tblprsn LEFT OUTER JOIN
(
SELECT tblrtm.rtmid
FROM dbo.getrtmn(tblprsn.prsnid) as getrtmn_1
) AS tblgetrtmn
ON tblprsn.prsnid = tblgetrtmn.rtmid
的dbo.getrtmn是表值函數,並且具有唯一標識符字段命名rtmid。 prsnid是唯一標識符
當我運行該SQL查詢的原因錯誤:
The multi-part identifier " tblprsn.prsnid" could not be bound.
@AlexanderFedorenko 。 。 。應該沒有圍繞函數調用的子查詢。 –
用OUTER APPLY +子查詢和CROSS APPLY + WHERE子句查詢的不同語義http://sqlfiddle.com/#!3/2f718/5 –
@AlexanderFedorenko。 。 。我意識到這一點。原始查詢可能不是OP需要處理的真正查詢。如果是這樣,從表中選擇的簡化版本可能會起作用。你的SQLFiddle在顯示差異方面做得很好(這與外連接和內連接之間的差異相同)。 –