簡體   English   中英

如果連續存在多個id存儲,則加入多個表

[英]Join multiple table if there are multiple id store in a row

我在數據庫中有三個表,即技能,job_post和經驗。 在這里,我必須加入這些所有表格。

這里我有這樣的job_post表:

在此輸入圖像描述

技能表看起來像:

在此輸入圖像描述

體驗表看起來像

在此輸入圖像描述

現在,我必須加入上面的表。我已經加入了job_post和經驗表。

所以我寫了連接查詢,如:

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

但是,這里有多個skill_id插入job_post表中,那么如何將job_post表連接到技能表呢?

注意:我嘗試的是我已經在上面寫了連接查詢然后編寫該結果的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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM