gpt4 book ai didi

php - 如果一行中有多个id存储,则连接多个表

转载 作者:可可西里 更新时间:2023-11-01 08:25:31 25 4
gpt4 key购买 nike

我在数据库中有三个表,分别是 skill、job_post 和 experience。在这里,我必须加入这些所有表。

我这里有这样的 job_post 表:

enter image description here

技能表如下:

enter image description here

经验表看起来像

enter image description here

现在,我必须加入上面的表。这里我加入了 job_post 和 experience 表。

所以我写了这样的连接查询:

"select * from job_post as jp 
join experience as e on e.exp_id = jp.exp_id
where jp.emp_id in (".$ids.")"

但是,这里在 job_post 表中插入了多个 skill_id,那么我如何将 job_post 表连接到 skill 表呢?

注意:我试过的是,我在上面写了连接查询,然后写了该结果的 foreach 循环,并从 job_post 表中获取技能 ID。然后写了与技能表匹配的查询,并且打印技巧。

但是有什么方法可以编写查询而不是执行这些操作吗?

最佳答案

您可以使用 MySQL find_in_setgroup_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

关于php - 如果一行中有多个id存储,则连接多个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36473048/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com