2017-04-26 144 views
0

我需要從SQL查詢中的文本字段返回某些ID。我有困難加入到我的臨時表的專欄中,我想返回從持有該整數數據實際上是一個文本字段從文本字段返回整數

我運行:

SELECT a.userID,a.name,a.list 
FROM table1 a 
JOIN table2 tmp 
ON a.list = tmp.skill 

這將返回:

消息206,級別16,狀態2,行22 操作數類型衝突:文字是不符合INT

所以,tmp.skill是包含我想在a.list中挖掘的重複ID的列。我的table2有一個1300 ID列表

只是要添加到此,a.listtable1包含多個ID。例如:

1234,12345

所以,如果12345只出現在table2tmp.skill然後我想用戶的列表返回

+0

有沒有在你的數據庫的任何觸發,因爲你的語句沒有行號22 – Jens

+0

您的查詢無法生成錯誤。它沒有函數調用,除非其中一個表真的是一個視圖。 –

+0

忽略行號22 @Jens ...我已經寫了一個查詢進一步的道歉,不清楚 – Brett

回答

3

當你比較與詮釋文本字段,這就是爲什麼拋出這個錯誤,你需要將int轉換爲文本,然後您可以使用任何比較。所以第一次轉換技能這樣CONVERT(VARCHAR,tmp.skill),那麼你可以用這樣的運營商

SELECT a.userID,a.name,a.list 
FROM table1 a 
JOIN table2 tmp 
ON a.list like '%'+CONVERT(varchar(10), tmp.skill)+'%' 
+0

太棒了,謝謝你的工作! – Brett

+0

然後接受我的回答 –