我在数据库中有三个表,即技能,job_post和经验。在这里,我必须加入所有这些表。
这里我有这样的job_post表:
技能表如下:
体验表看起来像
现在,我必须加入上表。我已加入job_post和经验表。
所以我写了连接查询,如:
xml
但是,这里有多个skill_id插入job_post表中,那么如何将job_post表加入技能表?
注意:我试过的是我在上面写了连接查询然后编写该结果的foreach循环并从job_post表中获取技巧ID。然后编写与技能表匹配的查询打印技巧。
但有没有办法编写查询而不是这些呢?
答案 0 :(得分:2)
您可以使用MySQL find_in_set
和group_concat
进行第三次加入:
select jp.*,e.*,group_concat(s.skill)
from job_post jp
join experience e on e.exp_id = jp.exp_id
join skill s ON(FIND_IN_SET(s.skill_id, jp.skill) > 0)
where jp.emp_id in (".$ids.")
GROUP BY jp.job_id,jp.exp_id