Sql 使用一个表中的不同记录将其与另一个表的不同条目组合

Sql 使用一个表中的不同记录将其与另一个表的不同条目组合,sql,sql-server,join,Sql,Sql Server,Join,我有两张桌子。雇员和资格 员工 Emp_id Name Qualification1 Qualification2 Qualification3 10001 xxxxxx 1 3 5 10002 yyyyyy 3 2 ....... ...... ..... 资格认证 Qual_ID Qual_name

我有两张桌子。雇员和资格

员工

Emp_id   Name   Qualification1   Qualification2    Qualification3
10001   xxxxxx         1              3                5
10002   yyyyyy         3              2                       
.......
......
.....
资格认证

Qual_ID   Qual_name
    1      B.Tech
    2      MCA
    3      M.Tech
如何使用joinquery获得以下输出

Emp_ID   Name    Qual1   Qual2   Qual3
10001   xxxxxxx  B.Tech   MCA     pppp
10002   yyyyyyy  B.Tech   
......
.....
.....
试试这个:

试试这个

Select E.Emp_ID,E.Name,Q1.Qual_Name,Q2.Qual_Name, Q3.Qual_Name
From 
    Employees AS E
    INNER JOIN Qualifications As Q1 ON E.Qualification1=Q1.Qual_ID
    INNER JOIN Qualifications As Q2 ON E.Qualification2=Q2.Qual_ID
    INNER JOIN Qualifications As Q3 ON E.Qualification3=Q3.Qual_ID

您应该有另一个表
员工资格
。这个好像不在里面。这样,寻找具有特定资格的员工就不需要搜索3列,而且您可以处理具有3个以上资格的员工。@Romil您能告诉我为什么这不起作用吗@VishalSuthar,您为所有内部联接条件输入了q1.Qual_ID。@VishalSuthar,我在匆忙中犯了打字错误。谢谢我已经更新了帖子。@Romil所以你能给我正确的解决方案吗?因为我在帖子中没有看到任何更新?@downvoter这个查询会不起作用吗?你能费心评论一下吗?@rejithrkrishnan:如果它起作用的话——表达你的感激是礼貌的,也是正确的做法。
Select E.Emp_ID,E.Name,Q1.Qual_Name,Q2.Qual_Name, Q3.Qual_Name
From 
    Employees AS E
    INNER JOIN Qualifications As Q1 ON E.Qualification1=Q1.Qual_ID
    INNER JOIN Qualifications As Q2 ON E.Qualification2=Q2.Qual_ID
    INNER JOIN Qualifications As Q3 ON E.Qualification3=Q3.Qual_ID
SELECT e.emp_id, 
       e.name, 
       q1.qual_name, 
       q2.qual_name, 
       q3.qual_name, 
FROM   employee e 
       INNER JOIN qualifications q1 
               ON e.qualification1 = q1.qual_id 
       INNER JOIN qualifications q2 
               ON e.qualification2 = q2.qual_id 
       INNER JOIN qualifications q3 
               ON e.qualification3 = q2.qual_id