Sql server 自动为SELECT语句中的所有列生成别名
我正在使用Microsoft Query将数据从MS SQL Server提取到Excel。我的许多表都有相同的列名,例如:Sql server 自动为SELECT语句中的所有列生成别名,sql-server,excel,notepad++,Sql Server,Excel,Notepad++,我正在使用Microsoft Query将数据从MS SQL Server提取到Excel。我的许多表都有相同的列名,例如: [task].[active] [user].[active] [task].[name] [user].[name] 当我在Excel中透视时,只显示列名。pivot筛选器可能有多个称为“活动”的字段,这非常令人困惑 我想用它来自的表名为每一列加上别名,这样在过滤器中会显示“task\u active”和“user\u active”。我的Excel SELECT语
[task].[active]
[user].[active]
[task].[name]
[user].[name]
当我在Excel中透视时,只显示列名。pivot筛选器可能有多个称为“活动”的字段,这非常令人困惑
我想用它来自的表名为每一列加上别名,这样在过滤器中会显示“task\u active”和“user\u active”。我的Excel SELECT语句是:
SELECT active AS task_active, name AS task_name FROM task...
是否有一种快速方法可以使用格式化工具将表名前置到别名?我有Apex SQL Refactor和记事本+,但我还没有找到一种不必再次手动键入所有列名的方法。如果将resultset填充到datatable,然后将datatable填充到excel,则它会自动将重复列名更改为col1、col2等 这不是您的要求。您希望它是具体的
方法1
。创建具有所需列名的临时表
在#temp表中插入结果
返回#临时表结果集
方法2
:使用动态查询
你真正的疑问是什么样子的?不,没有。通过使用信息模式表,在Excel中加载数据,然后构造查询,您可以非常轻松地构造查询。也许视图对此会有所帮助?@GordonLinoff谢谢,这是最简单的方法。我提取了INFORMATION_SCHEMA.COLUMNS表,使用Excel CONCAT()构建别名,并将它们复制到Notepad++来构建查询。你能不能把你的评论作为一个答案,这样我就可以标记它了。