【发布时间】:2010-12-27 15:11:16
【问题描述】:
我对 SQL 缺乏经验...我正在尝试弄清楚如何在我的数据库中搜索具有特定技能的人员。
我想生成一个包含两列名称和技能的表
初始搜索当前正在执行此查询:
SELECT *
FROM User_Skills LEFT JOIN
skills ON User_Skills.Skill_id = Skills.id
WHERE Skill_id = 5 OR Skill_id = 7 // 5 & 7 are variables.
这会产生如下结果:
User_id Skill_id id name
1000 5 5 Designer
1000 7 7 Data Analysis
1001 7 7 Data Analysis
1001 5 5 Designer
问题是……我这样做对吗?我正在寻找特定的技能。一旦找到技能,我应该使用 User_id 执行第二次查询吗?我不知道我是否需要两次返回名称,就像我将用户表加入到上述查询中一样。或者我应该加入用户表,然后以编程方式剔除我不需要的数据。
【问题讨论】: