读书人

使用sql语句team in (另一个表里的字段

发布时间: 2012-01-07 21:41:56 作者: rapoo

使用sql语句team in (另一个表里的字段值)时提示错误
AllPath表里的FriendTeam值为字符型,值是1,4
Friend表里的team值为整型,每条记录有1,有4,也有其它的值

select * from Friend where Team in (AllPath.FriendTeam)

提示将 varchar 值 '1,4 ' 转换为数据类型为 int 的列时发生语法错误。

如果写成
select * from Friend where Team in (1,4)
则没有问题,其实我的FriendTeam值里面就是1,4

[解决办法]
select * from Friend t where exists
(Select * from AllPath where
Charindex( ', '+ltrim(t.Team)+ ', ', ', '+FriendTeam+ ', ')> 0)
[解决办法]
--try


select * from Friend
where exists(select 1 from AllPath where charindex( ', '+rtrim(Friend.team)+ ', ', ', '+FriendTeam+ ', ')> 0)

读书人网 >SQL Server

热点推荐