2016-11-15 83 views

回答

4

假設你的函數fnSplitString是表值函數,你可以使用cross apply運營商進行相關「加盟」:

select * 
from tblBuyOnlineMaster m 
cross apply [dbo].fnSplitString(m.CategoryTree, '|') s 

注意cross apply操作是一致的一個inner join。如果您想要left join語義,請改爲使用outer apply運算符。另見https://technet.microsoft.com/en-us/library/ms175156%28v=sql.105%29.aspx?f=255&MSPPError=-2147217396

+1

'Outer Apply'永遠不會對給定場景產生影響。 –

+0

@Prdp'fnSplitString'是一個黑盒子,我們不知道什麼樣的特殊情況會導致它不返回任何行。添加評論也使得這個答案與每個人都相關,並回答「下一個邏輯問題」。 –

+0

@ic同意。但是我覺得這可能會讓某個人感到困惑。大多數'fnSplitString'會根據分隔符分割一個字符串,我不認爲會有任何邏輯來過濾記錄。 –

相關問題