select * from tb_page where id in( select pagesid from tb_column where id = 1 )
select * from tb_page where id in(16,3,19,27)
前面的语句查出来的pagesid 的值为16,3,19,27,但是前面的语句在sql 2008里面执行是错的,错误的提示为 在将 varchar 值 '16,3,19,27' 转换成数据类型 int 时失败。
后面那句执行是对的,我在改了一下,
select * from tb_page where id in(‘16,3,19,27’),在括号里面加了单引号就报了和上面一样的错误,
我就以为是查出来的pagesid 是 ‘16,3,19,27’带双引号的,但是其实不是,因为我用len函数计算字符串长度是10,也就是是 16,3,19,27的长度,
我怎么让前面那句执行正确啊?给个思路吧,大侠们