从SQL中生成的结果集中查找不同的值

时间:2015-08-07 03:53:09

标签: sql

两个select语句与多个内连接组合在一起。 只需要找出这个结果集中的不同元素。

我可以在选择列时写出不同的内容,但这不是我想要的。

SELECT 
    employeeid, employeename 
FROM   
    employee AS emp        
INNER JOIN 
    department AS dep ON emp.employeeid = dep.employeeid        
INNER JOIN 
    company AS comp ON emp.companyid = comp.companyid 

UNION 

SELECT 
    employeeid, employeename 
FROM   
    employer AS emp        
INNER JOIN 
    category AS cat ON emp.employeeid = cat.employeeid        
INNER JOIN 
    business AS busi ON emp.companyid = busi.companyid  

1 个答案:

答案 0 :(得分:0)

SELECT DISTINCT employeeid, employeename 
FROM
(
    SELECT 
       employeeid, employeename 
    FROM   
       employee AS emp        
    INNER JOIN 
       department AS dep ON emp.employeeid = dep.employeeid        
    INNER JOIN 
       company AS comp ON emp.companyid = comp.companyid 

    UNION 

    SELECT 
       employeeid, employeename 
    FROM   
       employer AS emp        
    INNER JOIN 
       category AS cat ON emp.employeeid = cat.employeeid        
    INNER JOIN 
       business AS busi ON emp.companyid = busi.companyid  
) AS t