0

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

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

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

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

谢谢,马克

4

1 回答 1

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))
于 2014-12-11T05:12:57.293 回答