select u.treeid from user as u where u.treeid in ('120, 122') 这个返回的不就是 120 122吗
您这样写还是返回的120,没有122。我也sql语句写的有问题,已经修正过来了。
select t.id from user u,treenodes t where u.user_id=19 and t.id in (u.treeid);等同 select t.id from treenodes t where t.id in (select treeid from user where user_id=19);查询出来的结果是treenodes表ID=120。 查询出来的结果应该是 ‘treeid’ 被打上了单引号,有什么办法去掉单引号?
您这还是返回的一条数据啊。应该是返回t表的ID为120,122,跟我之前查的一样,只返回第一条数据。
参考一下这个贴子的提问方式http://bbs.csdn.net/topics/320211382
1. 你的 create table xxx .. 语句
2. 你的 insert into xxx ... 语句
3. 结果是什么样,(并给以简单的算法描述)
4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。
这个返回的不就是
120
122吗
select t.id from user u,treenodes t where u.user_id=19 and t.id in (u.treeid);等同
select t.id from treenodes t where t.id in (select treeid from user where user_id=19);查询出来的结果是treenodes表ID=120。 查询出来的结果应该是 ‘treeid’ 被打上了单引号,有什么办法去掉单引号?
2. 你的 insert into xxx ... 语句这样就不需要别人去自己写语句来模拟数据了。