有一表A
id int f_id varchar(50)
1 1,2,3
有一表B
b_id int b_name varchar(50)
1 aaa
2 bbb
3 ccc
4 ddd
要写一存储过程 返回的是A表中f_id中对应的B表中的记录
我是这样写的
1.
Declare @A_fid varchar(50)
Select @A_fid=f_id from A where id=1
Select * from B where b_id in(@A_id) 错误!
2.
Declare @A_fid varchar(50)
Declare @str varchar(2000)
Select @A_fid=f_id from A where id=1
Set @str='select * from B where b_id in('+@A_fid+')'
Exec @str 还是错误.. 寻求解决办法...
id int f_id varchar(50)
1 1,2,3
有一表B
b_id int b_name varchar(50)
1 aaa
2 bbb
3 ccc
4 ddd
要写一存储过程 返回的是A表中f_id中对应的B表中的记录
我是这样写的
1.
Declare @A_fid varchar(50)
Select @A_fid=f_id from A where id=1
Select * from B where b_id in(@A_id) 错误!
2.
Declare @A_fid varchar(50)
Declare @str varchar(2000)
Select @A_fid=f_id from A where id=1
Set @str='select * from B where b_id in('+@A_fid+')'
Exec @str 还是错误.. 寻求解决办法...
解决方案 »
- 按钮放在模板中 要更新的内容是内页 请问怎么实现内容更新 模板不变呢?高手帮忙!
- MVC Ajax发送请求后,怎么跳转视图
- asp程序,某个页面打开出现异常
- 没人帮我啊
- <%# 我用FilePath = Server.MapPath("~/Images/首页影片/");获取文件地址的时候
- ===========高分求解!高手来看看。。。。
- 请教:验证与xmlhttp的冲突解决方法?请思归等高手解决一下
- 无视大小写的问题
- 我把空间里自带的web.config文件删掉了,现在出现错误!!
- 网站程序如何处理大批量数据,新手请教
- 关于RequiredFieldValidator验证控件和javascript的冲突问题
- 关于Starter Kit 的问题
感觉问题出在这个地方,没有帮你测试过,你测试一下看看吧.
有问题,因为整型的id和自负型无法匹配,即使强制类型转换好像也会出现问题
如果b_id in(1,2,3,4,5,6) 好像就没有问题了所以是匹配吃出现了问题我想到的解决方法如下 供参考
Declare @A_fid varchar(50)
Select @A_fid=f_id from A where id=1
Select * from B where @A_id like '%'+cast(b_id as varchar)+'%'
如果你的@A_id 以逗号分割数字 上面的方法匹配id数字应该没有问题
问题出在 Exec后要加括号....
b_id in(@A_id)应为b_id in ('1','2','3','4')