2013-05-02 56 views
0

有上百萬個這樣的問題;我有只是開始使用SQL,我似乎無法將答案拖出來。我不太瞭解上下文;保證我會保持簡單。無法綁定的另一個多部分標識符

USE [Metrics] 
INSERT INTO dbo.tblSplitData(SplitString) 
SELECT * FROM dbo.splitstringcomma(dbo.tblRawData.DelimitedString) 

我得到一個「多節IDENTIFER無法綁定」爲查詢的dbo.tblrawdata.DelimitedString部分。

我檢查拼寫(我用的IDE建議插入的名字,所以我覺得這是很好),我實際上已經得到了本聲明的格式如下工作:

USE [Metrics] 
INSERT INTO dbo.tblSplitData(SplitString) 
SELECT * FROM dbo.splitstringcomma('1,2,3,4,5') 

通常情況下, 「FROM」語句被確定爲問題(不能識別將涉及的所有表),但我不確定是否知道如何實現該語句。

回答

1

如果您的DelimitedString數據存儲在表dbo.tblRawData中,則需要從表中進行選擇,然後將該delimitedString列應用於拆分字符串函數。好像你想要以下內容:

USE [Metrics] 
INSERT INTO dbo.tblSplitData(SplitString) 
SELECT c.* 
FROM dbo.tblRawData d -- your table 
CROSS APPLY dbo.splitstringcomma(d.DelimitedString) c -- function that you pass 
                 -- in the delimited string 
+0

那麼當涉及到TSQL肯定沒有淺的結局!我可以問一下「c。*」是什麼嗎? TSQL是否在該行的末尾分配別名? 'dbo.splitstringcomma(d.DelimitedString)c' – Shrout1 2013-05-02 15:39:20

+0

@Chris'c'是'dbo.splitstringcomma' udf的別名。 'c。*'將只返回分割字符串udf的值。 – Taryn 2013-05-02 15:41:08

相關問題