我的公司有双重公司结构,要求将数据分开。我们有两个结构相同的数据集。我通常使用MS Query使用一个数据集编写SQL,当我有我想要的东西时,我只需添加一个UNION ALL语句并重复SQL,但用第二个替换任何数据集名称。它始终工作正常tp给我一个组合来自两个数据集的数据的查询。
但是,我正在使用datepart函数检索一些日期字段以获取记录的年份和月份,并使用AS语句命名列。 示例:选择datepart(yyyy,receipttdate)为" Year"
虽然它可以在原始查询中使用一个数据集,但是当我创建“UNION ALL”时,并添加其他SQL,列名称变为空白。对于我总结和重命名的某些字段,其名称也比SUM(QUANTITY_ORDERED)更简洁 - 它们在UNION ALL之后变为空白。
使用UNION ALL或其他建议时是否有重命名列的技巧?
谢谢, 标记
答案 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))