SQL查询中IN语句条件为一个数组如何进行查询?(ASP提示类型不匹配)

这个问题是关于一个ASP程序中收藏夹功能的SQL语句:关联到两个数据表,详细如下person表字段idpnamerealnamejob……1per1anamejob12p... 这个问题是关于一个ASP程序中收藏夹功能的SQL语句:关联到两个数据表,详细如下 person表字段 id pname realname job …… 1 per1 aname job1 2 per2 bname job2 3 per3 cname job3 4 per4 dname job4 5 per5 ename job5 6 per6 fname job6 …… fav表字段 id perid pname saver …… 1 1 per1 com1 2 4 per4 com1 3 5 per5 com1 4 1 per1 com2 5 5 per5 com2 6 2 per2 com3 ……person表为个人会员表,fav表为企业会员收藏的个人会员信息表其中fav表中的perid为收藏的个人会员id(即person表中的id字段)现在要查询的条件为:查询收藏者(saver字段)为com1收藏的个人会员信息我的查询方式如下:查询收藏者(saver字段)为com1收藏的个人会员的SQL语句为:SQL1="select * from fav where saver="com1""接下来要根据查询出来的perid从person表中查询满足条件的记录:SQL2="select * from person where id in (RS.Fields("perid"))"问题出现了,从fav表可以看出com1收藏的会员id为1、4、5,SQL1语句是没有问题的,可是得出的SQL2语句结果只有id为“1”的一条记录,id为4和5的完全没有查询。我接着用Split函数将得到的perid字段转换为字符串类型favid=Split(RS.Fields("perid"),",")SQL2="select * from person where id in("&favid&")"可是提示数据类型不匹配,绝望了……最后又上网查了下用数组的办法来执行,方法如下:favid=array(SQL1,2)SQL2="select * from person where id in("&favid&")"我的老天啊,还是提示数据类型不匹配了,彻底绝望了……求高手给出解决办法,最好能把两个SQL语句合起来执行,分开的也行,谢谢了! 展开
 我来答
chixinyatou
2011-10-08 · TA获得超过156个赞
知道答主
回答量:24
采纳率:0%
帮助的人:14万
展开全部
用 SQL语句嵌套的方式就好了。SELECT * FROM person WHERE id IN (SELECT perid FROM fav WHEREsaver="com1")
百度网友279ed92
2011-09-30 · TA获得超过215个赞
知道小有建树答主
回答量:152
采纳率:0%
帮助的人:94.2万
展开全部
楼主说的办法完全不太理解,因为偶是自学的SQL。像楼主这种查询,碰到过很多,用非常简单的SELECT 嵌套就可以了啊。
select * from person where id in (select perid from fav where saver=com1),只是这样写的前提是两个表都在同一个数据库下。仅供参考,等待其他高手出招,共同学习,呵呵。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式