使用' AS'使用' UNION ALL'在MS QUERY SQL中的语句

时间:2014-12-11 05:03:22

标签: sql union-all ms-query

我的公司有双重公司结构,要求将数据分开。我们有两个结构相同的数据集。我通常使用MS Query使用一个数据集编写SQL,当我有我想要的东西时,我只需添加一个UNION ALL语句并重复SQL,但用第二个替换任何数据集名称。它始终工作正常tp给我一个组合来自两个数据集的数据的查询。

但是,我正在使用datepart函数检索一些日期字段以获取记录的年份和月份,并使用AS语句命名列。 示例:选择datepart(yyyy,receipttdate)为" Year"

虽然它可以在原始查询中使用一个数据集,但是当我创建“UNION ALL”时,并添加其他SQL,列名称变为空白。对于我总结和重命名的某些字段,其名称也比SUM(QUANTITY_ORDERED)更简洁 - 它们在UNION ALL之后变为空白。

使用UNION ALL或其他建议时是否有重命名列的技巧?

谢谢, 标记

1 个答案:

答案 0 :(得分:0)

如果您指的是SQL SERVER(我老实说不确定ms-query是什么),那么您的列别名应该在您的联合的第一个语句中完成

例如,下面的第一个示例将列名留空,而第二个示例提供正确的列名;

-- Example 1
Select datepart(yyyy,CURRENT_TIMESTAMP) 
UNION ALL 
SELECT datepart(yyyy,DATEADD(YY, -1, CURRENT_TIMESTAMP)) as "Year"

-- Example 2
Select datepart(yyyy,CURRENT_TIMESTAMP) as "Year"
UNION ALL 
SELECT datepart(yyyy,DATEADD(YY, -1, CURRENT_TIMESTAMP))