如何将两个查询的结果合并为一个列,而不是将它们组合在一起,以便它们全部显示为结果?

时间:2018-05-18 08:32:05

标签: sql sql-server tsql

我一直在看视频,阅读我的教科书,看一些例子,但似乎没什么用。我几乎已经准备好放弃了,但我真的想弄清楚这一点,因为它看起来很简单。目标是基本上取两个结果并将它们加在一起,这样所有结果都会显示为多个列中的一个结果。

这是我的SQL到目前为止我要组合的两个SELECT语句的结果,

SELECT DISTINCT [dbo].[School].SchoolName, 
    [dbo].[Professor].LastName, 
    [dbo].[Professor].FirstName

  FROM [dbo].[SchoolDean], [dbo].[School],[dbo].[DepartmentChair], [dbo].[Department], [dbo].[Professor]
   WHERE ([dbo].[SchoolDean].ProfessorID = [dbo].[Professor].[ProfessorID] AND
 [dbo].[School].SchoolID = [dbo].[SchoolDean].SchoolID)

SELECT DISTINCT 
[dbo].[Department].DepartmentName, 
    [dbo].[Professor].LastName, 
    [dbo].[Professor].FirstName
  FROM [dbo].[DepartmentChair], [dbo].[Department], [dbo].[Professor], [dbo].[SchoolDean], [dbo].[School]
WHERE [dbo].[DepartmentChair].ProfessorID = [dbo].[Professor].[ProfessorID] 
AND
  [dbo].[Department].DepartmentID = [dbo].[DepartmentChair].DepartmentID 

第一个SELECT语句的输出如下:

SchoolName  LastName    FirstName
Education   |Brown      |Harold
Engineering |Yang       |Kim
Fine Arts   |Winsor     |Deborah
Management  |Smith      |Nancy
Mathematics |MacNamara  |Christine
Science     |Santiago   |Jose

这是我对第二个SELECT语句的结果:

DepartmentName      LastName    FirstName
Aerospace          |Hastings    |Timothy
Applied Mathematics|McDonald    |Susan
Biology            |Noble       |Charles
Chemistry          |Young       |Margaret
Civil Engineering  |Hohl        |Patrick
Computer Science   |MacNamara   |Christine
Dance              |Winsor      |Stephen
Economics          |Anthony     |Todd
Elementary Education|Walker     |Joanne
Marketing          |Smith       |Nancy
MSIS               |Jones       |Samuel
Music              |Winsor      |Deborah
Physics            |Santiago    |Jose
Special Education  |Walker      |Joanne

期望的结果看起来像这样,但是拥有与教授相关联的SchoolName。列和它的值被添加到它上面,我不介意空值:

DepartmentName      LastName    FirstName   SchoolName   LastName   FirstName
Aerospace          |Hastings    |Timothy
Applied Mathematics|McDonald    |Susan
Biology            |Noble       |Charles
Chemistry          |Young       |Margaret
Civil Engineering  |Hohl        |Patrick
Computer Science   |MacNamara   |Christine
Dance              |Winsor      |Stephen
Economics          |Anthony     |Todd
Elementary Education|Walker     |Joanne
Marketing          |Smith       |Nancy
MSIS               |Jones       |Samuel
Music              |Winsor      |Deborah
Physics            |Santiago    |Jose
Special Education  |Walker      |Joanne

非常感谢任何帮助,建议或提示。

1 个答案:

答案 0 :(得分:0)

使用UNION ALL:

Select Schoolname as DepartmentName ...
UNION ALL
Select DepartmentName ...