我試圖從表中找到相關信息,並將這些結果(連同其他無關結果)作爲較大查詢的一部分在一行中返回。在主查詢中的一列中返回多個值
我已經試過使用這個例子,修改我的數據。
How to return multiple values in one column (T-SQL)?
但我不能讓它工作。它不會提取任何數據(我確定它是用戶[me]錯誤)。
如果我直接使用TempTable查詢表,我可以正確地得到結果。
DECLARE @res NVARCHAR(100)
SET @res = ''
CREATE TABLE #tempResult (item nvarchar(100))
INSERT INTO #tempResult
SELECT Relation AS item
FROM tblNextOfKin
WHERE ID ='xxx' AND Address ='yyy'
ORDER BY Relation
SELECT @res = @res + item + ', ' from #tempResult
SELECT substring(@res,1,len(@res)-1) as Result
DROP TABLE #tempResult
注意上面的WHERE線,XXX和YYY將變化基於該函數的輸入條件。但既然你不能在一個函數中使用TempTables ...我被卡住了。
我試圖查詢的表中的相關字段如下。
tblNextOfKin
ID - VARCHAR(12)
名稱 - VARCHAR(60)
關係 - VARCHAR(30)
地址 - VARCHAR(100)
我希望這是足夠的理智......我看到了在另一篇文章中適合的表達。
我的SQL-fu不太好。
一旦我得到一個工作函數,我會將它放到我正在處理的SSIS包的主查詢中,該查詢從其他許多表中提取數據。
如果需要,我可以提供更多詳細信息,但該網站說保持簡單,我試圖這樣做。
謝謝!
後續行動(因爲當我在下面的響應中添加註釋時,我無法編輯格式)
我需要能夠從不同列中獲取結果。
ID名稱關聯地址
1,邁克,SON,100主街
1,薩拉,DAU,100主街
2,蒂姆,SON,123南大街
無論是前兩個人住在同一地址,所以如果我查詢ID ='1'和地址='100 Main St.'我需要的結果看起來像...
「DAU,SON」
看起來會工作,但是是好還是壞,我們使用的是Microsoft SQL。感謝您的答覆。 – Scottster 2010-12-10 20:07:47
啊,對不起..我讀了我的SQL福,並閱讀它爲mysql fu:D – Unreason 2010-12-10 20:42:03