两个没有关联字段的表,怎么按条件匹配 40C
问题是这样的,一张职位表和一张简历表,两个没有可关联字段,按照简历表中个人的行业类型、工作类型、城市和薪资关联职位表,取职位表中与简历表四项信息吻合(行业类型相同,工作类型相同,城市相同,薪资大于职位最低薪资),提取简历ID和职位ID,并按职位最高薪资排序,如果匹配出3个以上jobID,则只取前三位。
    求助各位大神,应该怎么实现这个逻辑,我已经用sql实现了,但效率太低,线上负载很大,有没有其他的方法能实现。

11个回答

select a.*,b.* from a,b where a.username=b.username and a.username='admin'
不要重复的那就用 union

union all 是所有的都差出来
select * from a where username='admin'
union
select * from b where username='admin';

不一定要一条sql写出来,可以写多条sql查。。

可以把你的sql发出来,让大家看看有没有可以改进的地方,数据量是多大也可以顺便说一下

如果是类似于51job这样的简历与职位,则不建议SQL语句直接搞完,而是应该编程实现。
因为那样的简历、职位搜索条件太复杂了,而且不是简单的“等于”关系;并且需求还可能发生变化。

先select 职位表,注意 where的条件,注意表的索引问题即可。
再针对每条记录select 简历表,注意 where的条件,sort的条件,注意表的索引问题。使用游标,搜到了3条即终止。

四个条件取三个排列组合组合成查询语句,结果再联合。再去top 3

sql语句发出来 才能给你优化

试试组合主键,或者创建索引

通过视图来让两个表联系起来就可以了

可以写一个存储过程,把你需要的数据写在过程里试试

或者可以考虑使用程序来处理。把数据提取出内存,通过以后台任务这样的形式用程序来进行批处理,这样可一定程度缓解线上数据库负担过重的问题

共11条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问

相似问题

16
SQL 如何从两个表提取字段,合成一个表【如图】
11
数据表 一个字段里储存了多个id匹配符合条件id怎么查询?
9
数据库多个表有重复的字段
4
SQL查询两个表中相同字段值的集合并且去重
1
如何写一个存储过程比较两张表的数据差异,并且输出每个比对字段差异百分比
2
在A表存着user_id,在B表有user_id和a两个字段,C表有user_id和b两个字段?
2
kettle中有源表和目标表,两个表的表输入的查询中的表名是一个变量,如何让源表中的数据更新到目标表中?
2
数据库表和字段的关系如何设计比较好?
1
求助!!怎样在一个表多个不同字段中关联另一个表的一个字段,并显示不同内容
1
mysql进行left join左关联查询的时候,关联条件被自动模糊匹配了
0
hive中,substr作为条件在两表关联时,匹配结果异常
2
thinkphp关联查询如何直接查出关联表的某个字段,并组合成一行数据
4
oracle中怎么把有相同字段的三张表A,B,C关联呢?
2
MySql 通过一个表的字段查另一个表的字段
3
oracle中查询两张表的字段,然后将数据保存到其他两张表中。
4
oracle用游标将A表的字段和B表3个字段匹配,匹配到就将B表的三个字段和A表的CODE字段输入到一张新表里面
2
SQL主表和一个子表关联,现在想取子表的数据写入到子表的4个字段中去,有没有什么好的实现方式呢?
2
SQL联表查询,结果只显示需要的字段
1
关于用一张表的结果更新另一张表字段的问题
2
如何匹配匹配两个表的相同字段来为其中一个表的列赋值