为什么我的连接查询没有给出三个表的预期结果

时间:2017-10-17 05:36:15

标签: mysql sql database

我遇到3 tables join的问题我能够获得

所需的结果

2 tables ids138140141

这是我的查询(获取所需结果)

SELECT distinct u.*

from jobs_applied_by_jobseeker_for_employer jbs 

Left join user_details u on u.user_id = jbs.employee_id 

以下是演示http://sqlfiddle.com/#!9/360836/1

  

现在我想加入第三个表格以获取CONCATENATED skills String(html,css,mysql,php)

以下是查询(预期3个结果,仅获得1个)

SELECT distinct u.*,GROUP_CONCAT(uskill.skills) skills

from jobs_applied_by_jobseeker_for_employer jbs 

Left join user_details u on u.user_id = jbs.employee_id 

left join user_skills uskill on u.user_id = uskill.user_id

以下是演示http://sqlfiddle.com/#!9/360836/3

请帮助我使用skills

获得3个结果

提前致谢!

2 个答案:

答案 0 :(得分:1)

以下查询可以解决您的问题

SELECT u.*,GROUP_CONCAT(distinct uskill.skills) skills from jobs_applied_by_jobseeker_for_employer jbs Left join user_details u on u.user_id = jbs.employee_id left join user_skills uskill on u.user_id = uskill.user_id group by u.user_id

您需要使用group by来获取不同的用户详细信息,并在GROUP_CONTACT中添加不同的关键字以获得不同的技能。

答案 1 :(得分:0)

你需要像这样<_ p>区别于Group_Concat

        SELECT distinct u.*,GROUP_CONCAT(DISTINCT uskill.skills) skills

        from jobs_applied_by_jobseeker_for_employer jbs 

        Left join user_details u on u.user_id = jbs.employee_id 

        left join user_skills uskill on u.user_id = uskill.USER_ID