在一个表中显示多个查询的结果

时间:2012-10-30 16:05:44

标签: sql-server-2008

在sql中,一个查询获取一列,其他查询获取另一列,依此类推,我想在一个表中将这些多列显示为多列。

例如:

Query1 gives column 'EmployeeId' .........
Query2 gives column 'EmployeeName' .......
Query3 gives column 'EmployeeAddress'

现在我想在一个表中显示这三列 table1有列'EmployeeId', 'EmployeeName' and 'EmployeeAddress'

由于在两个查询中,ORDER BY EmployeeId按递增顺序排列,因此在最终表(此处为table1)中,它给出了相应的Id,名称和地址。

基本上我需要在一个表中基于EmployeeId组合两个结果集。

1 个答案:

答案 0 :(得分:1)

如果没有查询,我不知道你有多少表或它们如何链接。但这听起来需要将子查询连接在一起以获得您所追求的结果。以下示例

   select emp.empId, ea.EmployeeAddress, en.EmployeeName
   from emp
   left join 
   (
      select empId, EmployeeAddress
      from EmpAddress
   ) ea on ea.empid = emp.empid 
   left join 
   (
      select empId, EmployeeName
  from empNames
   ) en on en.empId = emp.EmpId
   order by emp.empId