我正在運行SQL Server 2008,並試圖針對某些存儲不佳的數據運行一些查詢,我寧願不通過並嘗試清理(數百萬行要處理用)。我所擁有的是一個日誌表,一個表中有一些FK數據作爲逗號分隔的字符串,另一個表中有一個整數PK。我希望能夠將FK的整數列表連接到主表中正確的PK整數。我的查詢是這樣的:將INT列加入以逗號分隔的INT列表
SELECT
L.*
FROM MyLogs L (NOLOCK)
INNER JOIN Details D (NOLOCK) ON L.SearchValue = D.ID
在上面的查詢,L.SearchValue包含「123,456,7890」,而D.ID是一個整數主鍵。有什麼方法可以以任何有效的方式將它們連接在一起,還是應該接受我的命運,並開始編寫一個腳本來將所有這些逗號分隔的值分解成單獨的行?
感謝所有的答案,它幾乎完全符合我的預期(儘管我討厭承認它)。我會處理那個清理腳本,然後穿過我的手指。我最終可能會使用Stu建議的腳本來完成轉換。祝我好運:) – 2009-12-08 16:37:47