作业帮 > 综合 > 作业

请教一条SQL语句表job中有字段id和r_id数据为id r_id1 1,2,3现在要查出resume表中id为1和2

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/08 22:17:47
请教一条SQL语句
表job中有字段id和r_id
数据为
id r_id
1 1,2,3
现在要查出resume表中id为1和2和3的数据
job表中的r_id存的是resume的id啊
两张表得关联查的啊
我用的是mysql
我的理解是,先根据job表的id等于1确定rid为1,2,3,然后根据这个1,2,3来查询resume表这三个id的数据,如果是这样:
---------SQLSERVER的查询语法
select a.*
from resume a, job b
where charindex(a.id, b.rid) > 0 --------确认job表的rid字段包含resume表的id字段内容
and substring(',' + b.rid + ',',charindex(a.id, ',' + b.rid + ',') - 1,1) = ',' ---位置左侧为逗号
and substring(',' + b.rid + ',',charindex(a.id, ',' + b.rid + ',') + 1,1) = ',' ---位置后侧也为逗号
and b.id = 1 -------job中id为1
-------------MYSQL 用locate('b','abcd'); 函数
select a.*
from resume a, job b
where locate(a.id, b.rid) > 0 --------确认job表的rid字段包含resume表的id字段内容
and substring(CONCAT(',',b.rid ,',') ,locate(a.id, CONCAT(',',b.rid ,',') ) - 1,1) = ',' ---左侧逗号
and substring(CONCAT(',',b.rid ,',') ,locate(a.id, CONCAT(',',b.rid ,',') ) + 1,1) = ',' ---后侧逗号
and b.id = 1 -------job中id为1