如何在SQL查询的结果中添加空白列?

问题描述

我正在处理一个查询,该查询为访问过某个地点的人提取人口统计信息。但是,该报告所需的字段并非在数据库中全部可用,在导出查询结果后,需要从单独的Excel文件中手动添加一些字段。负责合并这两个文件的人员询问是否可以创建空白列,以便他们可以更轻松地查看丢失的数据需要存放的位置,而我不确定该如何处理。显然,这些空白列只能在导出的电子表格中创建,但是我想知道是否有一种方法可以在SQL查询本身中添加它们。

我的SELECT语句当前看起来像这样-我刚刚添加了注释来标记缺少的字段,因此我可以跟踪此报告的所有字段需要按什么顺序排列。

SELECT disTINCT
PersonID,PersonFName,PersonLName,Persondob,VisitID,--StaffFName,--StaffLName,FacilityPhone,FacilityAddress,...and so on

由于这两个职员姓名字段在我的数据库中不存在,所以我显然实际上不能将它们包括SELECT列表中。但是,是否有办法在我的查询结果中仍将这两个字段作为空白列包括在内?类似于“ select [nothing] as StaffFName”?

解决方法

只需将文字nulls添加到select子句中即可:

SELECT DISTINCT
    PersonID,PersonFName,PersonLName,PersonDOB,VisitID,null as StaffFName,null as StaffLName,FacilityPhone,FacilityAddress,...

或者,如果愿意,可以改用空字符串:

...
    '' as StaffFName,'' as StaffLName,...

但是null是表示缺少数据的规范方法。