数据库小白来问个sql问题
作个课程表查询遇到了个问题
如何对int和string进行查询呢?
class表里面有个classid是int型的 写的是‘1’‘2‘’3‘这样
course表里面有个classids是varchar2型的 写的是'1,2,3'这样 也就是表示这个课都有哪些班上
老师说那个class可以用in关键字来在classids中查找 但是他俩类型不同怎么用in查找啊 而且还有逗号呢 费解 求解
------解决方案--------------------course表里面有个classids是varchar2型的,可以用like,不过这个性能堪忧:
Where classids like '%1%'
------解决方案--------------------select * from class where classid in('1','2','3')
course表按classid查的话,用like,应该可以满足你的需求?
你这个问题问的,也没说明白你要的功能是怎么样的
------解决方案--------------------declare @Sql varchar(3000)
set @Sql = 'select * from class where classid in (' + (select classids from course where name = '英语') + ')'
exec @Sql
------解决方案--------------------结合1楼的like 和二楼的 in 你的答案已经出来了.