我需要从SQL查询中的文本字段返回某些ID。我很难加入我的临时表,因为我希望从中返回数据的列是持有整数实际上是一个文本字段
我正在跑步:
SELECT a.userID,a.name,a.list
FROM table1 a
JOIN table2 tmp
ON a.list = tmp.skill
返回:
Msg 206,Level 16,State 2,Line 22 操作数类型冲突:文本与int
不兼容
因此,tmp.skill
是包含我想在a.list
中挖掘的重复ID的列。我的table2
有一个包含1300个ID的列表
只需添加此内容,a.list
中的table1
包含多个ID。例如:
1234,12345
因此,如果tmp.skill
中的table2
中出现12345,那么我希望用户列表返回
答案 0 :(得分:1)
当您将文本字段与int进行比较时,为什么抛出此错误需要将int转换为文本然后您可以使用任何比较。所以第一次转换技能CONVERT(varchar,tmp.skill)然后你可以使用like运算符
SELECT a.userID,a.name,a.list
FROM table1 a
JOIN table2 tmp
ON a.list like '%'+CONVERT(varchar(10), tmp.skill)+'%'